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.
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?
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
OK, try this:
a) run InnoScript by double clicking on my (InnoScript) project file
b) in InnoScript click
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
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.
And thank you for such prompt response.
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.
Unfortunatelly the same thing happens, as per attachment.
(https://randemsystems.support/discus/messages/12/9860.png)
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)
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?
The issue is not with InnoScript it is with the .tlb file check your version for 5.1.2600.5512
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.
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.
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
Thanks for that, I'll check it out.