Randem Systems Support Board

InnoScript => InnoScript - General Questions, Report Bugs, Problems etc... => Topic started by: Bibin on March 07, 2016, 05:37:20 AM

Title: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 05:37:20 AM
Dear Randem,

How can I fixed this error problem? I can't register "tinumb8.ocx" in client machine Win8.1 64-bit. I am using Win7 32-bit. I have copied "tinumb8.ocx", "tibase8.dll", "tishare8.dll" in SysWOW64 and tried to register using Administrator still can not.

Help in advance... Thanks
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 07, 2016, 06:42:47 AM
This issue has been documented - https://randemsystems.support/innoscript-undocumented-hints-tips/innoscript-undocumented-hints-tips/msg4940/#msg4940

Sometimes ComponentOne requires you to register their components with their special program.

Is your ComponentOne file supported on Windows 8? If you are using the Windows 7 version it may not be supported on Windows 8. What error message did you get?
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 06:54:43 AM
I got this error : http://our.componentone.com/groups/topic/run-time-error-339-at-client-machine/

Run-time error '339': component 'tinumb8.ocx' or one of its dependencies not correctly registered: a file is missing or invalid

Yes I have already try to register "tinumb8.ocx" using regsvr32.exe and c1regsvr.exe (both running as administrator) still failed to register.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 07:03:19 AM
I got this error : http://our.componentone.com/groups/topic/run-time-error-339-at-client-machine/

Run-time error '339': component 'tinumb8.ocx' or one of its dependencies not correctly registered: a file is missing or invalid

Yes I have already try to register "tinumb8.ocx" using regsvr32.exe and c1regsvr.exe (both running as administrator) still failed to register.

If I also installed the componentone at client machine its successfull on Win8 or Win8.1 so the problem is I never get successfull install it using VB Development Package or any other tools cause I don't know how to do it.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 03:48:12 PM
Dear Randem,
I found this readme.txt in my installer folder ComponentOne. I don't know what this means. Do I must install both 32-bit and 64-bit in client machine? Cause I am using 32-bit, but client use 64-bit. If that so, then how InstallScript do this automatically without installing ComponentOne in target machine?


COMPONENTONE STUDIO FOR ACTIVEX
--------------------------------------------------------------------------------------------
To Install 32-bit Studio for ActiveX:
--------------------------------------------------------------------------------------------
1. Run C1StudioActiveX_xxx.msi

--------------------------------------------------------------------------------------------
To Install 64-bit Studio for ActiveX:
--------------------------------------------------------------------------------------------
1. Run C1StudioActiveX_xxxx.msi
2. Run C1StudioActiveX64_xxxx.msi*

*This setup only installs these 64-bit controls:
-olch2x8.ocx
-olch2xu8.ocx
-olch3x8.ocx
-olch3xu8.ocx
-VSDraw8.ocx
-vsFlex8.ocx
-vsFlex8d.ocx
-vsFlex8l.ocx
-vsFlex8n.ocx
-vsFlex8u.ocx
-VSPdf8.ocx
-VSPrint8.ocx
-vsvport8.ocx

Samples, Licensing and Documentation are installed when installing the 32 bit setup.
Installation of 32-bit setup is REQUIRED for Visual Studio 2008 VC++ Design Time.

--------------------------------------------------------------------------------------------
Samples Installation Location:
--------------------------------------------------------------------------------------------
C:\Program Files\ComponentOne\Studio for ActiveX (32-bit OS)
C:\Program Files (x86)\ComponentOne\Studio for ActiveX (64-bit OS)

--------------------------------------------------------------------------------------------
Documentation Installation Location:
--------------------------------------------------------------------------------------------
C:\Windows\Help

--------------------------------------------------------------------------------------------
32-bit Control Assemblies (OCX) Installation Location:
--------------------------------------------------------------------------------------------
C:\Windows\System32 (32-bit OS)
C:\Windows\SysWOW64 (64-bit OS)

--------------------------------------------------------------------------------------------
64-bit Control Assemblies (OCX) Installation Location:
--------------------------------------------------------------------------------------------
C:\Windows\System32 (64-bit OS)

64 bit platform notes:
Visual Studio supports 64 bit development with a cross-compiler (VS runs under 32 and produces 64-bit code).
To support this, VS automatically loads and runs the 32 bit version of controls at design time, and switches to use the 64 bit version at run time.
In order to use the 64-bit ActiveX controls in VS, you must do the
following:

1) Register the 32-bit version of the control (using regsvr32.exe). This will be used by VS at design time.
2) Register the 64-bit version of the control (using regsvr32.exe, it will be automatically registered in a different section in the registry). This will be used by the output application at run time.
3) When you create a new project, create the 64-bit configuration before you add any ActiveX controls to the project.

The setup for our ActiveX controls automatically registers the 32 and 64 bit versions of the controls, so steps 1 and 2 above are automatically handled for you. You only need to remember step 3.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 07, 2016, 07:38:04 PM
I believe that means that if you are installing on a 32bit system you have to use the 32bit files and the same goes for the 64bit files. you will need to setup in Inno Setup a conditional check for the OS then install the correct version of those files. You can add this function to InnoScript using the template functionality.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 07:43:39 PM
Quote from: Randem on March 07, 2016, 07:38:04 PM
I believe that means that if you are installing on a 32bit system you have to use the 32bit files and the same goes for the 64bit files. you will need to setup in Inno Setup a conditional check for the OS then install the correct version of those files. You can add this function to InnoScript using the template functionality.
What should be typed in the template file? can u explain more details the step by step? Thanks
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 07, 2016, 07:53:56 PM
Sorry cannot do step-by-step, that is considered training and consulting work (which we can do) but I can tell you that the step-by-step information about the template files is in the documentation...

The template file is just a chopped down version of the script file so you can add files and functions into the regular script.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 07, 2016, 08:35:18 PM
Quote from: Randem on March 07, 2016, 07:53:56 PM
Sorry cannot do step-by-step, that is considered training and consulting work (which we can do) but I can tell you that the step-by-step information about the template files is in the documentation...

The template file is just a chopped down version of the script file so you can add files and functions into the regular script.

I have this template configuration.. 5 years ago I have questioning this same problem and I still don't get the solution.
[Files]
Source: {src}\tdbgpp8.dll; DestDir: {sys}; Flags: restartreplace sharedfile;
Source: {src}\tibase8.dll; DestDir: {sys}; Flags: restartreplace sharedfile;
Source: {src}\tishare8.dll; DestDir: {sys}; Flags: regserver restartreplace sharedfile;
Source: {src}\todgub8.dll; DestDir: {sys}; Flags: regserver restartreplace sharedfile;

So how can I register tinumb8.ocx and tidate8.ocx? Please help. Thanks
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 07, 2016, 08:40:02 PM
Here is where to find the information in the "Help Documentation"

As for how to register ComponentOne files, that would be a question for ComponentOne if they require something special. We just supply a tool to help you create an installation.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 07, 2016, 08:52:30 PM
Also you may need a license to redistribute ComponentOne files and they could be making it difficult is you do not obtain a License...
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 08, 2016, 07:35:39 PM
Quote from: Randem on March 07, 2016, 08:52:30 PM
Also you may need a license to redistribute ComponentOne files and they could be making it difficult is you do not obtain a License...
Do I have to create installscript using 64-bit machine for 64-bit client machine? Is it automatically work on 32-bit if I create the installer in 64-bit OS?
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 08, 2016, 07:54:06 PM
Yes, you can add it t the same script with the Inno Setup is64Bit and is32bit switches on the files so that they only get installed on the correct OS. Search for the is64bit directive in the Inno Setup help documentation.
You can also set this directive in InnoScript in the Add Files section.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 08, 2016, 08:34:05 PM
Quote from: Randem on March 08, 2016, 07:54:06 PM
Yes, you can add it t the same script with the Inno Setup is64Bit and is32bit switches on the files so that they only get installed on the correct OS. Search for the is64bit directive in the Inno Setup help documentation.
You can also set this directive in InnoScript in the Add Files section.
OK then I have to change from Win7 32-bit to Win7 74-bit right?

Is the installer still compatible if client using Win8/Win8.1 32/64-bit while I am using Win7 64-bit?
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 08, 2016, 09:09:09 PM
You don't have to change anything. The installer will detect which OS you are on and if it is 32 or 64 bit and install the correct files as long as they have the Is32bit or Is64bit switch applied to the line.
If installing on a 32 bit system the lines with Is64bit will be skipped and if installing on a 64bit system the lines with Is32bit will be skipped. Lines that have no notation will be installed.

The installer is compatible with the OS you choose it for...
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 08, 2016, 11:19:47 PM
Quote from: Randem on March 08, 2016, 09:09:09 PM
You don't have to change anything. The installer will detect which OS you are on and if it is 32 or 64 bit and install the correct files as long as they have the Is32bit or Is64bit switch applied to the line.
If installing on a 32 bit system the lines with Is64bit will be skipped and if installing on a 64bit system the lines with Is32bit will be skipped. Lines that have no notation will be installed.

The installer is compatible with the OS you choose it for...
What I mean is if I create setup from my OS Win7 32-bit, is it compatibel if I deploy it to client who is using 64-bit? Why ComponentOne failed to registered in client computer? Is it the problem with my OS so take effect in InnoScript cannot automatically insert the dependency 64-bit file or what else? Is it necessary to register ComponentOne using "c1regsvr.exe" if it is so then how can I do that in InnoScript?
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 08, 2016, 11:31:02 PM
The general procedure for creating an application is to develop it on the highest OS that you will be deploying it to. So you should be developing on at least Windows 7 64bit. In theory a 32bit application does not know about a 64bit architecture and will fail.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 08, 2016, 11:34:41 PM
Dear Randem,

I also have component "Codejock.Controls.v15.3.1.ocx" in my script, but this component is success to installed on 64-bit target machine, but why ComponentOne like "tinumb8.ocx", tidate8.ocx" failed to register? What else do i need to try to register it on target machine? I think my problem is not with the OS ya but I cannot register ComponentOne using "regsvr32.exe", I also have try to register using "c1regsvr.exe" but also failed, so how do I register all the ComponentOne with InnoScript than I have to install it manually?

During this time I install these components manually because I do not understand how to make InnoScript in order to register ComponenOne. If it is using "c1regsvr.exe" then how should I type the script in InnoScript? Can u give the example script to do that? Many thanks
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 08, 2016, 11:39:52 PM
Quote from: Bibin on March 08, 2016, 11:34:41 PM
Dear Randem,

I also have component "Codejock.Controls.v15.3.1.ocx" in my script, but this component is success to installed on 64-bit target machine, but why ComponentOne like "tinumb8.ocx", tidate8.ocx" failed to register? What else do i need to try to register it on target machine? I think my problem is not with the OS ya but I cannot register ComponentOne using "regsvr32.exe", I also have try to register using "c1regsvr.exe" but also failed, so how do I register all the ComponentOne with InnoScript than I have to install it manually?

During this time I install these components manually because I do not understand how to make InnoScript in order to register ComponenOne. If it is using "c1regsvr.exe" then how should I type the script in InnoScript? Can u give the example script to do that? Many thanks

Btw I have the ComponentOne installer at my Dropbox if u want to try with InnoScript, so u can analyze how to register the ComponentOne. This is the link file https://www.dropbox.com/s/v9pwfsfdu7v5f3v/C1StudioActiveX_2011v2.zip?dl=0 (https://www.dropbox.com/s/v9pwfsfdu7v5f3v/C1StudioActiveX_2011v2.zip?dl=0)
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 09, 2016, 12:05:33 AM
It looks simple enough, If you are running on a 32bit system you run the MSI installer C1StudioActiveX_xxxx.msi. If on a 64bit system you run the installer C1StudioActiveX64_xxxx.msi. you remove all ComponentOne files from the script and let the installers do the work. Use the [Run] section to accomplish this. You can use the template function to automatically remove the ComponentOne files and add in the [Run] Section to install the files.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 09, 2016, 07:24:05 AM
Quote from: Randem on March 09, 2016, 12:05:33 AM
It looks simple enough, If you are running on a 32bit system you run the MSI installer C1StudioActiveX_xxxx.msi. If on a 64bit system you run the installer C1StudioActiveX64_xxxx.msi. you remove all ComponentOne files from the script and let the installers do the work. Use the [Run] section to accomplish this. You can use the template function to automatically remove the ComponentOne files and add in the [Run] Section to install the files.
OK looks very simple and good solution, but how is the example script to do that? Can u help me please? Thanks
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Bibin on March 09, 2016, 07:48:18 AM
If I running ComponentOne installer via InnoScript then how to make it run silent and automatically install custom component only? Example like I just want to install TrueDBNumber, TrueDBgrid and TrueDBList. What parameter do I have to use? Thanks. Need  help for the example script from u. After InnoScript Run the installer then I should replace the OCX with the cracked version right? So double job again?

Btw is there any other solution beside your solution before?
I would like InnoScript do the register component without installing from ComponentOne installer. I wondering how it can be done all using InnoScript. Btw I was a customer of InnoScript 10 and I was buy this sofware at 2009 or 2010 when it was still pay but now is free hahaha... So if u don't mind please help me with some example script to do that. Thanks mr Ralph.
Title: Re: Runtime error 339 at target client (ComponentOne tinumb8.ocx)
Post by: Randem on March 09, 2016, 10:29:30 AM
Sorry we do not aid in the distribution or operation of illegal software