即使使用{commondesktop},InnoSetup也会生成用户桌面图标

时间:2014-05-22 12:03:31

标签: inno-setup desktop-shortcut

我想制作一个安装程序,为所有用户设置桌面图标。我使用以下代码:

[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
据说

commondektop为我提供了公共用户桌面图标,但它在我的用户桌面上创建了一个!正如userdesktop所做的那样 这有什么不对?我尝试以管理员身份运行它,结果相同。图标确实在我的桌面上,我通过.lnk文件的常规属性进行了检查 如果需要其他一些代码,请告诉我。

2 个答案:

答案 0 :(得分:0)

其他人似乎误解了你的问题。我遇到了同样的问题,我的问题的原因是我的.iss中有以下内容:

PrivilegesRequired=lowest

在文档中,您可以看到:

  
      
  • =如果登录用户缺少管理权限,或者如果PrivilegesRequired设置为最低,则此常量的“常用”形式将映射到“用户”表单
  •   

我认为这意味着即使您以管理员身份运行安装程序,由于PrivilegesRequired,{commondesktop}也会映射到用户桌面。

答案 1 :(得分:-1)

{commondesktop}适用于所有用户。任何用户都可以看到其他用户图标。{userdesktop}用于在安装应用程序的用户的桌面中放置图标,因此会{commondesktop} {userdesktop}中的图标也是如此,但{userdesktop}永远不会在{commondesktop}中放置图标(任何用户都可以看到此内容)。