0
votes

Hi I have a problem and I need some direction. I have an old application that have an install shield installer, for which I don't have the installer scripts. Now I want to do a simple patch for that application using Inno Setup.

I was reading the documentation and if I knew the appId I could just append to the same installation the new files. However I don't now what Id that application have. I tried a simple script using the same name but it didn't work either.

Is it anyway of finding the appId to append to that installation?

Can someone point me in the right direction, or is not possible to do it?

1
It's very important to know what kind of installer the InstallShield installer is. Is is a pure InstallScript project or is it some form of Windows Installer project (MSI or MSI inside of EXE )Christopher Painter
Hi, I'm sorry. I'm new in this field of installers. I have no access to the previous code so I will try for what I can see. The installer is an exe. It install the application and creates a folder in "Program Files\InstallShield Installation Information\" inside are several files, but nothing said whether it is a MSI. However, in the Setup is this [Startup] AppName=MyApp Engine=0 Copy=1 Source=0 [Languages] Default=0x0009 count=1 key0=0x0009 Hope it helsp, sorry if the information is not accurate enough.adn

1 Answers

3
votes

The short answer is no, you cannot create an update package that is 100% seamless to the previous Install Shield package. The reason being, whether you know the AppId or not, InnoSetup appends a _is to the end of any AppId given for adding to the registry. Quite a funky action if you ask me but it's the way of the world and let's not forget you're dealing with a free application. They had their reasoning and it is sound, just doesn't make sense for your needs at this point.

You can always do what I did when faced with the same situation:

  1. Find the AppId of the original installation.

    a. Under the Control Panel open Add/Remove Programs.

    b. Find your application in the list and make a note of the name.

    c. Open RegEdit. *DISCLAIMER: THIS COULD ADVERSELY AFFECT YOUR SYSTEM SO BE CAREFUL

    d. Open the following registry key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

    e. Click on the first GUID you come to and check the value of DisplayName in the right pane against the name you took note of earlier. If this value matches you've found the AppId - it is the GUID you have selected.

    f. Select the next GUID and go back to step 1e until you have a match.

  2. Use this AppId as the AppId you use in InnoSetup but add the word "Update" to your title.

  3. Build and run your installation.

  4. Now you will have two entries in Add/Remove Programs for your application but one is clearly marked update. You've also done the additional leg work to ensure that the AppId is as much a match as possible making it easier for other programs to determine that they're related.

Best of luck in your endeavors!