Page 1 of 1

InstallShield 2012 Self-Register problem for TeeChart Pro ActiveX version 2012/19

Posted: Thu Jan 23, 2020 2:13 pm
by 16687657
Hello.

We are using "TeeChart Pro ActiveX version 2012/19".
We incorporate it into our application, and want to deliver the .ocx file together with our application.

I built an installation package using InstallShield 2012 Professional Edition, with setting for a 64bit target machine, using "Template Summary" with value "AMD64;1033".

I include the file TeeChart201964.ocx in my packaging, and set its Properties to "Self Register".
When I run the installation setup, I get the following error: "Error 1904. Module C:\...\TeeChart201964.ocx failed to register. HRESULT -2147220473."

Also, the engineer tells me that I need to run an additional package on the target machine in order for the EXE to run: vcredist_x64.exe, Microsoft Visual C++ 2008 Redistributable.

I have a few questions, and would most appreciate any help you can offer.

1. Am I permitted to distribute the OCX file to our customers, or only to use it in compiling & linking our deliverable EXE ? I want to make sure that I am not violating any licensing rules.

2. Can someone suggest how to get around this problem (self register) ?

3. I searched on the internet and saw the following possible explanation for the error code:
- The request or function call is out of sequence. Check for programming errors.
- The object can't accept the call because its initialize function or equivalent has not been called.
Does this indicate that I need to run the install of the "Microsoft Visual C++ 2008 Redistributable" before the self register occurs ?
If yes, can you suggest how I can force the install of the redistributable (e.g., as a customer action) before the self register kicks in ?

4. I tried a few other options which also gave me problems:
I first created a batch file which opens a command prompt, requests administrator privileges, and then runs "Regsvr32 TeeChart201964.ocx" to register the file in the Registry.
(a) I called LaunchApp or LaunchAppAndWait with this batch file.
(b) I added a Custom Action to run the batch file.
Results: I would get a command prompt which starts running the batch file, but runs multiple times, over & over again, until the installation completes or I kill it.

Thank you for any suggestions !
Shia & Asher
Excalibur Systems

Re: InstallShield 2012 Self-Register problem for TeeChart Pro ActiveX version 2012/19

Posted: Fri Jan 31, 2020 9:33 am
by Pep
Hi Shia,
1. Am I permitted to distribute the OCX file to our customers, or only to use it in compiling & linking our deliverable EXE ? I want to make sure that I am not violating any licensing rules.
Yes, you're able to distribute the ocx to with your application. Please, look at the TeeChart Tutorial 18 - TeeChart runtime installation requeriments, which explains the steps you've to do.
2. Can someone suggest how to get around this problem (self register) ?
It's necessary to register the ocx manually by using the regsvr32
3. I searched on the internet and saw the following possible explanation for the error code:
- The request or function call is out of sequence. Check for programming errors.
- The object can't accept the call because its initialize function or equivalent has not been called.
Does this indicate that I need to run the install of the "Microsoft Visual C++ 2008 Redistributable" before the self register occurs ?
If yes, can you suggest how I can force the install of the redistributable (e.g., as a customer action) before the self register kicks in ?
I think it's not necessary.
4. I tried a few other options which also gave me problems:
I first created a batch file which opens a command prompt, requests administrator privileges, and then runs "Regsvr32 TeeChart201964.ocx" to register the file in the Registry.
(a) I called LaunchApp or LaunchAppAndWait with this batch file.
(b) I added a Custom Action to run the batch file.
Results: I would get a command prompt which starts running the batch file, but runs multiple times, over & over again, until the installation completes or I kill it.
I'm not sure how InstallShield works, but you're in the correct way. You must be able to call the regsvr32 within the installation.
I'm not sure if using ExecWait regsvr32.exe could help.