1
votes

I upgrade the Inno Setup from 5 to 6 recently.

Build script and iss files are not changed, however, the build always failed in Inno Setup 6 environment.

The failed point is in the signed uninstaller.

[Setup]
SignedUninstaller = yes
SignedUninstallerDir=Release\

For create an uninstaller with digital sign, I set SignedUninstaller=yes in my setup.iss, I didn't set SignTool since my signature is given by other service, which I need using other script to sign instead.

In inno setup 5 environment, it created a new uninstaller uninst-5.5.9 (u)-xxxxxx.e32 file at first time, I took this to do signature by other service then put it back to the Release\ folder.

Recompile my build script, it shows "Using existing signed uninstaller file: uninst-5.5.9 (u)-xxxxxx.e32" which I have add signed before to create uninstaller. Everything is work well in Inno Setup 5.

However, I only upgrade inno setup to 6.0.5, the thing is totally different, the file name of uninstaller is changed in each compile, always shows "Creating new signed uninstaller file: uninst-6.0.5 (u)-xxxxxxxx.e32", which cause that the approach I do in Inno Setup 5 cannot be work here.

I notice that the compile log is quite different here...

Inno Setup 5

Preparing Setup program executable
   Updating icons (SETUP.E32)
   Using existing signed uninstaller file: 

Inno Setup 6

Preparing Setup program executable
   Updating icons (SETUP.E32)
   Updating version info (SETUP.E32)
   Creating new signed uninstaller file:

The code is totally same, only upgrade the Inno Setup compiler.

Does anyone know the difference between 5 and 6?

Thanks

1

1 Answers

0
votes

Since 6.0.4, Inno Setup includes the version info of your application (product name, product version, company, copyright, etc) into the uninstaller. It is a part of this change:

Windows AppLocker publisher conditions are now supported by Setup up to and including the file name level.


So the uninstaller is now different for each application. That indeed kind of cancels the intended caching effect of SignedUninstallerDir.