I have an Inno Setup v5.5.9 file shown below;
[Languages]
Name: english; MessagesFile: compiler:Default.isl
[Files]
Source: "Setups\SQLEXPR_x64_ENU.exe"; DestDir: {tmp}\Setups; Flags: nocompression;
[UninstallRun]
Filename: {tmp}\Setups\SQLEXPR_x64_ENU.exe; Parameters: "/QS /ACTION=unInstall /FEATURES=SQLENGINE /INSTANCENAME=CASSQL";
[Run]
Filename: {tmp}\Setups\SQLEXPR_x64_ENU.exe; Parameters: "/QS /ACTION=Install /FEATURES=SQLENGINE /INSTANCENAME=CASSQL /INSTANCEDIR=""{pf}\Microsoft SQL Server\MSSQL14.CASSQL"" /SQLSVCACCOUNT=""NT Authority\Network Service"" /TCPENABLED=1 /SECURITYMODE=SQL /ADDCURRENTUSERASSQLADMIN /SAPWD=sapassword /IACCEPTSQLSERVERLICENSETERMS";
The install works just fine, but once installed, if I go to Control Panel and right-click on the installer and select Uninstall, the uninstall will remove the installer from control panel but it doesn't actually run the SQLEXPR_x64_ENU.exe or uninstall the SQL Server Express named instance.
I read that Inno Setup would automatically handle uninstall, so I removed the [UninstallRun] section, but had the same result.
I can run the following :
SQLEXPR_x64_ENU.exe /QS /ACTION=unInstall /FEATURES=SQLENGINE /INSTANCENAME=CASSQL
From the command line and it works as expected.
[UPDATE #1 7/23/19] I added SetupLogging=yes to the [Setup] section, hoping to see something useful in a log file. Inno Setup created the log file when I ran the install, but did not create any log file when I ran the Uninstall by right-clicking on the Inno Setup generated installer in Control Panel.
What am I missing here?