Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Install Shield and Formula One

Posted on 1998-09-30
10
Medium Priority
?
204 Views
Last Modified: 2010-04-06
I have written an application using the Formula One component.
I have created the intall program with IS Express 1.11a.
When I install it in other computer and try to run it, the computer sends the message "UNREGISTERED CLASS".
I have added the files VCF132.OCX, MFCANS32.DLL, OC30.DLL, MSVCRT20.DLL in the instalation program.

What goes wrong??

Gilberto
0
Comment
Question by:gmsacoda
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 5
10 Comments
 

Author Comment

by:gmsacoda
ID: 1341260
Adjusted points to 100
0
 
LVL 4

Expert Comment

by:BoRiS
ID: 1341261
gmsacoda

you need to register the ocx etc.

this can be done in tw ways through your code using

regsvr32 [/u] [/s] <DLLname or OCXname>
                                    /u - if you want to unregister COMponent
                                    /s - no message (silent) //use this param for behind the scenes...

or through installshield its self...

this information is taking from
http://support.installshield.com/kb/default.asp?action=Display&documents_id=651 

    All editions of InstallShield Express automatically register any .dll, .exe and .ocx file containing the "OLESelfRegister" string in the
    version
                        resource.

                        Note: The 1.1 version of InstallShield Express Professional will also check .olb files for the "OLESelfRegister" flag.

                        You can check to see if a third-party .ocx or .dll file contains this resource by opening the .dll or .ocx file using Borland
    Resource Workshop or
                        MSVC++ and then checking the `Version Information` resource for the following value:

                        VALUE "OLESelfRegister", "\0"

                        To include this resource in your own DLLs, create an extra string value field in the version resource for the .dll/.ocx file. This
    value should have
                        the name OLESelfRegister. The data for this value is ignored and can be set to "".

                        MSVC++ does not currently allow you to add a new value field to the `Version Information` resource. If you are using
    MSVC++, you will need to
                        add this value directly to the .RC file for your project. You can use any convenient text editor to edit this file and add
    OLESelfRegister to the
                        existing values in the .RC file. Make sure you rebuild your .dll/.ocx file after making this change.

                        After you add this string, the version information block will look something like this:

                          /////////////// Begin sample

                          VS_VERSION_INFO VERSIONINFO
                          FILEVERSION 1,0,0,1
                          PRODUCTVERSION 1,0,0,1
                          FILEFLAGSMASK 0x3fL
                          #ifdef _DEBUG
                          FILEFLAGS 0x1L
                          #else
                          FILEFLAGS 0x0L
                          #endif
                          FILEOS 0x40004L
                          FILETYPE 0x2L
                          FILESUBTYPE 0x0L
                          BEGIN
                          BLOCK "StringFileInfo"
                          BEGIN
                          BLOCK "040904b0"
                          BEGIN
                          VALUE "CompanyName", "InstallShield\0"
                          VALUE "FileDescription", "RESDLL\0"
                          VALUE "FileVersion", "1, 0, 0, 1\0"
                          VALUE "InternalName", "RESDLL\0"
                          VALUE "LegalCopyright", "Copyright _ 1996\0"
                          VALUE "OriginalFilename", "RESDLL.dll\0"
                          VALUE "ProductName", "InstallShield RESDLL\0"
                          VALUE "ProductVersion", "1, 0, 0, 1\0"
                          VALUE "OLESelfRegister","\0"
                          END
                          END
                          BLOCK "VarFileInfo"
                          BEGIN
                          VALUE "Translation", 0x409, 1200
                          END
                          END
                          /////////////// End sample


                        With InstallShield Express2 and Express Professional, you can manually add the following section to the Swdepend.ini file
    used for the
                        installation:

                        [DLLNAME.DLL]

                        Register=$(DLLSelfRegister)

Later
BoRiS
0
 
LVL 4

Accepted Solution

by:
BoRiS earned 300 total points
ID: 1341262
gmsacoda

you need to register the ocx etc.

this can be done in tw ways through your code using

regsvr32 [/u] [/s] <DLLname or OCXname>
                                    /u - if you want to unregister COMponent
                                    /s - no message (silent) //use this param for behind the scenes...

or through installshield its self...

this information is taking from
http://support.installshield.com/kb/default.asp?action=Display&documents_id=651 

    All editions of InstallShield Express automatically register any .dll, .exe and .ocx file containing the "OLESelfRegister" string in the
    version
                        resource.

                        Note: The 1.1 version of InstallShield Express Professional will also check .olb files for the "OLESelfRegister" flag.

                        You can check to see if a third-party .ocx or .dll file contains this resource by opening the .dll or .ocx file using Borland
    Resource Workshop or
                        MSVC++ and then checking the `Version Information` resource for the following value:

                        VALUE "OLESelfRegister", "\0"

                        To include this resource in your own DLLs, create an extra string value field in the version resource for the .dll/.ocx file. This
    value should have
                        the name OLESelfRegister. The data for this value is ignored and can be set to "".

                        MSVC++ does not currently allow you to add a new value field to the `Version Information` resource. If you are using
    MSVC++, you will need to
                        add this value directly to the .RC file for your project. You can use any convenient text editor to edit this file and add
    OLESelfRegister to the
                        existing values in the .RC file. Make sure you rebuild your .dll/.ocx file after making this change.

                        After you add this string, the version information block will look something like this:

                          /////////////// Begin sample

                          VS_VERSION_INFO VERSIONINFO
                          FILEVERSION 1,0,0,1
                          PRODUCTVERSION 1,0,0,1
                          FILEFLAGSMASK 0x3fL
                          #ifdef _DEBUG
                          FILEFLAGS 0x1L
                          #else
                          FILEFLAGS 0x0L
                          #endif
                          FILEOS 0x40004L
                          FILETYPE 0x2L
                          FILESUBTYPE 0x0L
                          BEGIN
                          BLOCK "StringFileInfo"
                          BEGIN
                          BLOCK "040904b0"
                          BEGIN
                          VALUE "CompanyName", "InstallShield\0"
                          VALUE "FileDescription", "RESDLL\0"
                          VALUE "FileVersion", "1, 0, 0, 1\0"
                          VALUE "InternalName", "RESDLL\0"
                          VALUE "LegalCopyright", "Copyright _ 1996\0"
                          VALUE "OriginalFilename", "RESDLL.dll\0"
                          VALUE "ProductName", "InstallShield RESDLL\0"
                          VALUE "ProductVersion", "1, 0, 0, 1\0"
                          VALUE "OLESelfRegister","\0"
                          END
                          END
                          BLOCK "VarFileInfo"
                          BEGIN
                          VALUE "Translation", 0x409, 1200
                          END
                          END
                          /////////////// End sample


                        With InstallShield Express2 and Express Professional, you can manually add the following section to the Swdepend.ini file
    used for the
                        installation:

                        [DLLNAME.DLL]

                        Register=$(DLLSelfRegister)

Later
BoRiS
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Expert Comment

by:BoRiS
ID: 1341263
gmsacoda

sorry about the comment clicked the wrong box...

Later
BoRiS
0
 

Author Comment

by:gmsacoda
ID: 1341264
Thank you Boris,

I could run a program after have registered 2 of the four files requested by formula one.
I have used REGSVR32 to register these files.
But some questions remains. I´d like you to give me some more informations.

1. REGSVR32 was not present in the computer. I had to copy from    my computer. What software loads this program?
2. I want to send the installation program to the user. I dont    want the user to use REGSVR32 to register the components. Then    I need the IS Express to generate a instalation program to       register all necessary components.

Regards
Gilberto
0
 
LVL 4

Expert Comment

by:BoRiS
ID: 1341265
gmsacoda

If regsrv32 is not present on a machine you may copy it to that machine, but what you need to do as you are sending an installshield version, is in the resource file of the your program add this code ...

VALUE "OLESelfRegister","\0"

if you are using installshield express 2 or professional then you just need to add this line of code to the SWdepend.ini file of the installation

[DLLNAME.DLL] //ini heading
Register=$(DLLSelfRegister) //code under heading...

OR

[OCXNAME.OCX] //ini heading
Register=$(OCXSelfRegister) //code under heading...

Later
BoRiS
0
 

Author Comment

by:gmsacoda
ID: 1341266
BoRis

I have tried but I could not find how and where to add the code you have suggested.

According to Delphi Help, the resource file has the same name of the application with .RES termination. This file is not an ASCII file and I don't know how to edit it.

I need some more help
Regards
Gilberto



0
 
LVL 4

Expert Comment

by:BoRiS
ID: 1341267
what version of the install shield are you using...

you will need a resourse editor to edit the resouce file, or create your own...
for more info on creating an resource file check the delphi help file /search for resource DLL, creating...

it will explain how to use the resource dll wizard, this will create an .rc for you etc...

Later
BoRiS
0
 

Author Comment

by:gmsacoda
ID: 1341268

I am using the version 1.11.

I´ll try to edit

Gilberto


0
 

Author Comment

by:gmsacoda
ID: 1341269
Boris

I´ve got a new version of the IS Express and used it to create a installation program.
Then the apllication run without problems.

Thanks
Gilberto
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question