Inno Setup Start menu uninstall shortcut is not shown on Windows 10
Asked Answered
S

4

8

I've got an issue that seems to be specific to Windows 10 with the Start menu uninstall shortcut I create in my setup. The shortcut is simply not shown.
However, others shortcuts I create are shown as well...

Here is the value for DefaultGroupName:

DefaultGroupName={#MyAppPublisher}\MyCompany\MySoftwareName

Here are my entries for shortcuts in [Icons] section:

[Icons]
Name: "{group}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"
Name: "{commondesktop}\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"; IconFilename: "{app}\MyExeName.exe"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName} {#MyAppVersion}"; Filename: "{app}\MyExeName.exe"; WorkingDir: "{app}"; Tasks: quicklaunchicon
Name: "{group}\{cm:UninstallProgram, {#MyAppName} {#MyAppVersion}}"; Filename: "{uninstallexe}"; WorkingDir: "{app}"; IconFilename: "{app}\Remove.ico"
Name: "{group}\{cm:SHORTCUT_SAV}"; Filename: "{code:GetDataDir}"

I've tried a simple entry too:

Name: "{group}\Uninstall My Program"; Filename: "{uninstallexe}"

But shortcut is still not shown.

Note that this works fine in any previous version of Windows...

Do you have any idea on this? I've search but I have not found any topic related to this specific problem.

Symposiarch answered 7/9, 2016 at 13:44 Comment(0)
E
9

Windows 8 and newer employs lots of optimizations to the Start menu to reduce number of items shown.

For example it won't display two shortcuts pointing to the same target, no matter, if the shortcuts have different labels or are placed in different menu folders.

You are probably a victim of such optimization.

Anyway, what you are trying to do is against Windows guidelines:

  • You should not use Start menu folders in Windows 8 and newer.
  • You should not add a shortcut to an uninstaller to the Start menu, on any version of Windows. The user should go to Control panel or Settings app to uninstall a program (that's also a possible explanation, why the shortcut is not shown).
Elijaheliminate answered 7/9, 2016 at 13:57 Comment(0)
C
0

I had the same problem. In my case sometimes only the uninstall shortcut in windows start menu disappers.

Somehow I fixed it.

Just use in Icons-section the command to create this shortcut twice. Their names need to differ.

For example:

Name: "{group}\{#Uninstall_Name} {#MyAppName}"; Filename: "{uninstallexe}";IconFilename: {app}\{#IconFileStartDesktop};

Name: "{group}\{#MyAppName} {#Uninstall_Name}"; Filename: "{uninstallexe}" ;IconFilename: {app}\{#IconFileStartDesktop};

If the first uninstall-shorcut does not show up, the second one will do it.

Chivalry answered 13/2, 2018 at 16:28 Comment(1)
May be a red herring but I found that putting the uninstaller as the last icon to create seemed to make it stay put. Oddly, though it sometimes - not always -disappears from the start menu itself, the shortcut icon is still in the programs folder. (With all due respect to the fact that this is not the technically correct way to deal with program uninstallation shortcuts in Windows)Sterling
T
-1

new to the group and to INNO. :)

I figured a workaround to have an UNINSTALL entry in the START MENU.

[Icons]

Name: "{group}\{cm:UninstallProgram,{#MyAppNameShort}}"; Filename: "{#MyUninstallFilesDir}\unins000.exe"; Tasks: startmenu

It's not elegant having to hard-code the EXE, but it works in Win10 64-bit. My plan for updates is to uninstall the Access Front-end, leave the Back End alone, and reinstall only the Front-end.

(in theory...)

Robert :)

Toxicogenic answered 15/2, 2017 at 4:27 Comment(7)
Can you explain how does this answer the question? How does your code differ to the code in OP? The only difference I see is that you use {#MyUninstallFilesDir}\unins000.exe, while the OP uses {uninstallexe}. Though they both probably resolve to the same path anyway.Elijaheliminate
I think too that {#MyUninstallFilesDir}\unins000.exe should not make any difference with {uninstallexe}, but the difference here with what I'm doing is Tasks: startmenu. So I've tried to add Tasks: startmenu in the Icon uninstall line, but when I compile I get compiler error Parameter "Tasks" includes an unknown taskSymposiarch
Well, the OP stated "I've got an issue that seems to be specific to Windows 10 with the Start menu uninstall shortcut I create in my setup. The shortcut is simply not shown." I had the exact same problem, my Uninstall EXE did not appear in the START MENU. I changed {uninstallexe} to unins000.exe and it worked. Win10 seems to limit its blocking of uninstall program in the START MENU by looking for {uninstallexe}, for the time being, until they decide to check for unins000.exe. Ben, you have to add a matching [TASKS] entry: Name: startmenu; Description: "{cm:CreateStartMenu}"Toxicogenic
Jeez, did not know about 5 minute limit on edits. Don't know how to get linefeeds in replies either, reply looks like a mess. @BenDev, add a task entry [TASKS] Name: startmenu; Description: "{cm:CreateStartMenu}"Toxicogenic
Ben, TASKs and COMPONENTs are useful in setting conditions on FILEs, ICONs, etc. They act like IF Statements; very useful when you want to install FILE A for a STANDARD INSTALLATION, and FILE B for a CUSTOM INSTALLATION. You use two [FILE] entries, with different file names, and different [COMPONENT] values; only the one with the correct component value will get installed. The same process works for [TASK].Toxicogenic
I know Ben's issue dates back 5 months and he's most likely gotten his users to adapt and use Control Panel to Uninstall. My solution was more intended to the next guy faced with this problem (which often turns out to be ME 'cause I forget these details after a few months :) ).Toxicogenic
l thought I had posted my final test reaction to this solution, but It really made the difference for me as with this line: Name: "{group}\{cm:UninstallProgram,{#MyAppName} {#MyAppVersion}}"; Filename: "{app}\unins000.exe"; WorkingDir: "{app}"; IconFilename: "{app}\Remove.ico"; Parameters: "/log" ,the shortcut is now well created on Win10 in the startmenu as the others ones...Symposiarch
G
-1
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}

Just insert the command twice..done:)

Gilley answered 25/9, 2019 at 9:13 Comment(2)
Could you explain why this solves the problem or did you also just find it as a workaround?Amatol
Duplicate answer.Inga

© 2022 - 2024 — McMap. All rights reserved.