Randem Systems Support Board

InnoScript => InnoScript - General Questions, Report Bugs, Problems etc... => Topic started by: spick56 on July 02, 2010, 05:34:55 AM

Title: Error accessing the OLE registry
Post by: spick56 on July 02, 2010, 05:34:55 AM
Hi,
 
Today I downloaded the latest InnoScript (V10.2.15) and ran it to create a script file, based on my existing InnoScript .pjt file.  
All went OK so I invoked InnoSetup by clicking Inno Setup 5.2.3 button.
When I ran InnoSetup I got an error (that I've been getting for a while) re: {app}\MyApp.exe, as follows:
  Root: HKCR; SubKey: MyApp.Document\Shell\Open\Command; ValueType: string; ValueData: {app}\MyApp.exe %1, open; Flags: uninsdeletevalue; Tasks: Association1
 
When I remove the quotes and have only {app}\MyApp.exe then it runs past that point but fails just before the end of instalation, as per the following error:
     C:\Windows\system32\stdole2.tld.
     Unable to register the type library: Register TypeLib failed; code 0x8002801C.
     Error accessing the OLE registry.
 
I then installed the latest InnoSetup (V5.3.10) however I got the same result.
When I uninstalled the latest InnoScript and reinstalled my previous version (V9.3.0) I still got my old error re: the quotes but after I removed those all worked ok.
 
It's pointing at InnoSCript even though the error occurs when running InnoSetup.
 
Any ideas as to what may be causing it?
 
Cheers
 
P.S. I'm running Vista OS with latest patches.
Title: Error accessing the OLE registry
Post by: Randem on July 02, 2010, 11:18:30 AM
Aloha,
 
It looks like when you use a replaceable parameter in that field that expands to a long file name you need double quotes there instead of single quotes.
 
I do not understand why you are getting a typelib error. That has to be something else. Have you run the script thru the Inno Setup debugger?
Title: Error accessing the OLE registry
Post by: spick56 on July 02, 2010, 09:33:28 PM
Thanks for that advice randem.  
 
I found that in one of my associations {app}MyApp.exe I used the quotes and once I removed them all came good so once again, thanks.
 
As for my second problem, I installed the latest InnoScript and InnoSetup and did some testing/experimentation and have a really weird outcome. This is what I did:
 
a)   run InnoScript by double clicking on my (InnoScript) project file
b)   in InnoScript click
Title: Error accessing the OLE registry
Post by: Randem on July 02, 2010, 10:59:57 PM
OK, try this:
 
a) run InnoScript by double clicking on my (InnoScript) project file
b) in InnoScript click
Title: Error accessing the OLE registry
Post by: spick56 on July 03, 2010, 02:59:02 AM
When I opened InnoSetup via the InnoScript Toolbar and ran the script I got the error however when I double clicked the (just created) 'Inno Setup Script' file and ran the script then it worked ok.
 
Seems like there may be a descrepancy in the way InnoSetup is invoked by InnoScript.
 
Cheers
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 08:30:03 AM
OK, That was what I was looking for. I have never seen that error but I will look into it. Thanks for reporting this issue.
Title: Error accessing the OLE registry
Post by: spick56 on July 03, 2010, 08:36:12 AM
And thank you for such prompt response.
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 09:30:06 AM
If you could try the same test with this file. It is ONLY for testing do not run with this version it is still in development. Just want to see if this issue is solved.
 
Just rename your exe and replace it with this one.  
 
Title: Error accessing the OLE registry
Post by: spick56 on July 03, 2010, 05:06:51 PM
Unfortunatelly the same thing happens, as per attachment.
 
(https://randemsystems.support/discus/messages/12/9860.png)
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 05:14:26 PM
Ok, great. Well, not exactly great but this means that your machine has a problem with the registry. The call that issues the invocation of the program has been changed but the results are the same.
 
Check your registry, that file has seemingly gotten unregistered and the Windows call wants to auto register it and cannot. Either you have a permissions problem in your registry that will not allow the tlb file to be registered properly.
 
This may help: https://randemsystems.com/olereg.html (https://randemsystems.com/olereg.html)
Title: Error accessing the OLE registry
Post by: spick56 on July 03, 2010, 05:20:32 PM
Thanks for that and I'll check it out.
 
I'm still a bit confused though in that old InnoScript (V9.3.0) doesn't have that problem?
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 05:28:42 PM
The issue is not with InnoScript it is with the .tlb file check your version for 5.1.2600.5512
Title: Error accessing the OLE registry
Post by: spick56 on July 03, 2010, 09:19:35 PM
I'm running Vista so it appears I can't use RegMon, it tells me to use ProcessMonitor but I'm unable to use it to achieve the same thing as suggested in your article. I know it's me but a blank/corrupted ProcessMonitor Help file desn't help in telling me how to set the filter, but I'll keep at it.  
 
As for my version of strole2.tlb file, I can't get the version via file Properties but when I read it using Notepad right at the end it says the version is 6.0.6000.16386. Again, I'll keep at it and see how I go.  
 
Thanks a lot for all your help.
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 09:51:26 PM
If you do not have a properties tab then you might have the wrong version I will check on my Vista Box. Process Monitor is just as easy to use the filter as RegMon. Operate is basically the same.
Title: Error accessing the OLE registry
Post by: Randem on July 03, 2010, 10:45:14 PM
The stdole2.tlb file is not on my Vista box so it was installed by one of the apps on your machine. It probably installed the wrong version, this file is not native to Vista
Title: Error accessing the OLE registry
Post by: spick56 on July 04, 2010, 02:31:06 PM
Thanks for that, I'll check it out.