Windows 10上未显示Inno Setup开始菜单卸载快捷方式

时间:2016-09-07 13:44:35

标签: inno-setup shortcut uninstall startmenu

我遇到了一个似乎特定于Windows 10的问题,我在我的设置中创建了“开始”菜单卸载快捷方式。简单地没有显示快捷方式 但是,我创建的其他快捷方式也会显示出来......

以下是DefaultGroupName的值:

DefaultGroupName={#MyAppPublisher}\MyCompany\MySoftwareName

以下是[Icons]部分中的快捷方式条目:

[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}"

我也试过了一个简单的条目:

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

但捷径仍未显示。

请注意,这在任何以前版本的Windows中都可以正常工作...

你对此有什么想法吗?我搜索但是我没有找到与此特定问题相关的任何主题。

4 个答案:

答案 0 :(得分:4)

Windows 8及更新版本对 Start 菜单进行了大量优化,以减少显示的项目数。

例如,如果快捷方式具有不同的标签或放置在不同的菜单文件夹中,它不会显示指向同一目标的两个快捷方式。

您可能是此类优化的受害者。

无论如何,您要做的是违反Windows准则:

  • 您不应在Windows 8及更高版本中使用开始菜单文件夹。
  • 您不应在任何版本的Windows上向开始菜单添加卸载程序的快捷方式。用户应该转到控制面板设置应用程序以卸载程序(这也是一个可能的解释,为什么不显示快捷方式)。

答案 1 :(得分:0)

我遇到了同样的问题。 在我的情况下,有时只有Windows启动菜单中的卸载快捷方式消失。

不知何故,我修复了它。

只需在图标部分中使用命令即可创建此快捷方式两次。他们的名字需要不同。

例如:

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

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

如果第一个uninstall-shorcut没有显示,第二个将执行此操作。

答案 2 :(得分:-1)

该集团和INNO的新成员。 :)

我想出了一个解决方法,在START MENU中有一个UNINSTALL条目。

[Icons]

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

不必优雅地对EXE进行硬编码,但它适用于Win10 64-bit。我的更新计划是卸载Access Front-end,单独留下Back End,然后只重新安装前端。

(理论上......)

罗伯特 :)

答案 3 :(得分:-1)

Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}

只需插入命令两次即可。.完成:)