Should stdole2.tlb be included in an installation?

Started by spick56, December 07, 2011, 05:35:08 PM

Previous topic - Next topic

spick56

Sorry, had to leave urgently and thought it was in text format but obviously not.
 

Randem

This board does not support odt extensions please post as an iss, zip, text or cut/paste file


Randem

I checked on the .tlb file and what the entries in the script should look something like is this:
 
Source: ..VB 6 Redist FilesMSVBVM60.DLL; DestDir: {sys}; Flags:  regserver restartreplace sharedfile uninsneveruninstall; OnlyBelowVersion: 0,6
Source: ..VB 6 Redist FilesOLEAUT32.DLL; DestDir: {sys}; Flags:  restartreplace sharedfile uninsneveruninstall; OnlyBelowVersion: 0,6
Source: ..VB 6 Redist FilesOLEPRO32.DLL; DestDir: {sys}; Flags:  regserver restartreplace sharedfile uninsneveruninstall; OnlyBelowVersion: 0,6
Source: ..VB 6 Redist FilesSTDOLE2.TLB; DestDir: {sys}; Flags:  regtypelib restartreplace sharedfile uninsneveruninstall; OnlyBelowVersion: 0,6
Source: ..VB 6 Redist FilesCOMCAT.DLL; DestDir: {sys}; Flags:  restartreplace sharedfile uninsneveruninstall; OnlyBelowVersion: 0,6
 
This is Version 11.1.2 and this will work on All NT version of Windows, so unless you are placing this file in otherwise...
 
Post your script.

Randem

BTW: Use a virtual machine to test on. Microsoft's Virtual PC 2007 is a good choice and it's free.
 
You can start with a clean system everytime if you zip the VHD after you complete the instail of the OS and you can have a VHD for each OS. All you need to do is to unzip the VHD and you have a clean system...
 
Even if you referenced the .tlb file the usafe file check would remove it unless you included it in a template.

spick56

Oh yeah, I don't use the installation on my laptop as meaning too much other than there's no obvious errors but I do see your point about corrupting the system. I'll keep that in mind.
 
As for 429, thanks for letting me know that it's unlikely to be related to the stdole2 file so it's probably something that I recently included in my application, being several new dll's so I'll check that out first.  
 
Thanks.

spick56

I have the Check for unsafe files selected (as I always do) and the file does appear in the Unsafe Files' list so not sure what's going on there.  
 
Could I somehow be specifically referencing it in my application so that's why it's included in the script?

Randem

stdole2.tlb should be removed from the script automatically if you have Check for unsafe files selected in the Settings->Options tab.
 
Check your unsafe file to see if this file is in it.
 
You should NEVER install on your development system. You can corrupt it and if you don't then you do not get a real test for an install for all the files that you need are already there.
 
The error 429 means that something you need is not being deployed or registered. Can't say for sure I dont have your script.

spick56

When I create my script (using IS v11.1.2) for a VB6 project I see the following item in the resulting InnoScript:
 
Source: C:Program Files (x86)Randem SystemsInnoScriptInnoScript 11VB 6 Redist Filesstdole2.tlb; DestDir: {sys}; Flags:  regtypelib restartreplace uninsneveruninstall;  
 
I recently upgraded from an earlier version of IS to v11.1.2 and haven't noticed that entry previously but mind you I have made some changes to my application so I don't know if that has anything to do with it.  
My problem is that when I try to install my application on my laptop (where it was compiled) it installs properly however if I try to install it on a Vista PC I get the following error:
 
c:Windowssystem32stdole2.tlb
Unable to register the type library: RegisterTypeLib failed; code 0x8002801C. Error accessing OLE registry.  
 
When I comment that line in InnoSetup and try to install the package on the Vista PC then it installs OK but I get Error (429) - ActiveX component can's create object (Main:Main) although at this stage I don't know if the two are related.
 
My questions are:
a) should IS be creating that entry because my understanding is that every OS has its own stdole2.tlb and therefore shouldn't be included in an installation and
b) if point a) is not correct then can you tell me what am I doing wrong?
 
Thanks,
   Mike