windowswindows-installerinstallshieldinno-setup

Using Inno Setup to patch an Install Shield Application


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?


Solution

  • 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!