【问题标题】:InnoSetup generates user desktop icon even with {commondesktop}即使使用 {commondesktop},InnoSetup 也会生成用户桌面图标
【发布时间】:2014-05-22 12:03:31
【问题描述】:

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

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

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

【问题讨论】:

  • 公共桌面(公共桌面)图标显示在每个用户帐户上 - 如果您将登录到另一个帐户,您也会看到此图标 (c:\Users\Public\Desktop\ )。用户桌面图标仅显示在为其创建的非常用户桌面(例如c:\Users\ROBEN\Desktop\ )上 - 如果您将登录到另一个帐户,您将不会在桌面上看到此图标。

标签: inno-setup desktop-shortcut


【解决方案1】:

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

PrivilegesRequired=lowest

在文档中你可以看到:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-17
      • 2023-01-05
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 2012-02-18
      • 2019-02-25
      • 2023-03-22
      相关资源
      最近更新 更多