Inno setup 从桌面innosetup替换相同的快捷方式

Inno setup 从桌面innosetup替换相同的快捷方式,inno-setup,Inno Setup,桌面上已经有一个同名的快捷方式,但它是由setupfactory的安装程序安装的(我想用inno替换它)。现在,当我使用innosetup创建的安装程序进行安装时,它会创建一个新图标,而不是替换当前图标。我添加了[installDelete]部分,但不起作用。我刚刚检查了快捷方式属性。我发现的差异是一个快捷方式的所有者是administrators组,另一个是my user。但两者都是由同一用户安装的。这就是原因吗?有什么解决办法吗?或者我可以检查是否存在同名的快捷方式吗?多谢各位 两者都指向同

桌面上已经有一个同名的快捷方式,但它是由setupfactory的安装程序安装的(我想用inno替换它)。现在,当我使用innosetup创建的安装程序进行安装时,它会创建一个新图标,而不是替换当前图标。我添加了[installDelete]部分,但不起作用。我刚刚检查了快捷方式属性。我发现的差异是一个快捷方式的所有者是administrators组,另一个是my user。但两者都是由同一用户安装的。这就是原因吗?有什么解决办法吗?或者我可以检查是否存在同名的快捷方式吗?多谢各位

两者都指向同一路径中的同一exe。
我正在windows 7中安装。在这种情况下,您应该检查两个快捷方式的位置

其中一个可能是在公用桌面文件夹中创建的(适用于所有用户){commondesktop},第二个是针对当前用户桌面文件夹的预个性化--
{userdesktop}

A

B


在安装程序框架之间切换时,通常最好在安装新版本之前卸载旧版本(通过其卸载程序)。(您可以自动执行此操作。)

如果您不这样做,那么用户很可能最终会在其驱动器上找到零散的卸载程序文件和多个“添加/删除程序”条目;这两个都很难看


(这是一次性的——当从一个Inno或应用程序版本更改为另一个版本时,无需卸载旧版本,只有当从非Inno更改为Inno或相反版本时才需要卸载旧版本。)

不同的路径将不仅仅是所有权。请检查这些快捷方式的路径,并将其包含在您的问题中。谢谢。。我编辑了这个问题可能您在
Users\YOUR_PROFILE\Desktop
中有一个快捷方式是
{userdesktop}
,在
Users\Public\Desktop
中有第二个快捷方式是
{commondesktop}
对不起,我指的是快捷方式的路径,而不是指向其目标的路径。我的意思是(很抱歉,因为我的电脑供应商决定强迫我使用捷克语的Windows)。没错。这就是问题所在。。非常感谢罗伯和特拉玛。我没有注意到。是的,这就是问题所在。现在我使用userdesktop实现了这两种功能。再次感谢。@user1616785,你也可以,就像我几分钟前在这篇文章上做的一样;-)@user1616785请注意,您安装的
{userdesktop}
可能与运行安装程序的用户的桌面不同。如果它必须从LUA提升到admin,那么用户将不同。好的,我明白了。谢谢你的提示。但由于现有安装仅针对当前用户进行。现在也一样。是的,通常我们都是这样做的。但我们在不包括卸载程序的情况下也使用升级设置。因此,第一个卸载程序可以正常工作,因为升级安装程序只使用最新版本安装相同的文件。感谢tipUntil的更新版本,其中添加了一个额外的文件。(通常,当您使用Inno进行更新安装时,您确实希望它为此创建卸载条目——Inno足够聪明,可以在默认情况下添加到现有的卸载日志和条目中,但当然,这只有在原始安装使用Inno完成时才能正常工作。),我仍然建议检测这种情况,并要求用户使用完整的安装程序。我不确定SetupFactory,但我知道如果其他安装程序替换他们的文件,基于MSI的安装程序会变得暴躁。
[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; 
WorkingDir: "{app}"; Tasks: desktopicon
[Icons]
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; 
WorkingDir: "{app}"; Tasks: desktopicon