2

如果(使用 Inno Setup)我将 MyApp 安装到 C:\Users\User1\MyApp 并在公共桌面上创建一个快捷方式。这个快捷方式正确指向了User1桌面上的C:\Users\User1\MyApp\MyApp.exe,但是却指向了User2桌面上的C:\Users\User2\MyApp\MyApp.exe!

我知道在用户文件夹中创建机器安装会遇到问题,但我们遇到了许多过去完全这样做过的客户(当我们或多或少地为每个用户安装时)。那么如何为所有用户设置指向 Users\User1 文件夹的快捷方式呢?

4

3 回答 3

2

请参阅我在新闻组中的冗长 回复。

总而言之,User2 无法可靠地访问 User1 的配置文件,并且似乎 Explorer 正在更改目标以适应。只有在 1)它无法访问该文件夹或 2)它在域上并假设漫游配置文件时,它才可能这样做,但由于它是未定义的行为,它可以做任何事情。

最好的办法是阻止它安装到 c:\users(或 O/S 等效项)下。

如果您有用户将从“每个用户”安装升级,您将需要使用不同的安装,AppID这样它就不会尝试升级现有安装。

于 2012-04-24T16:42:33.447 回答
2

更好的方法是将您的应用程序安装在驱动器c:\program files\{your app folder}\{appname}.exe或任何位置,除了{UserDesktop}

然后使用 Inno Setup contants{commondesktop}而不是{userdesktop},这会将您的快捷方式放置到C:\Users\Public\Desktop所有用户都可以看到的地方,即使是在安装之前创建的新用户也可以拥有它。

例子

[Files]
Source: MyApp.exe; DestDir: {app};

[Icons]
Name: **"{commondesktop}\[You app Folder]**"; Filename: MyApp.exe; Tasks: desktopicon; IconFilename: MyApp.exe

或者,如果您仍然坚持,请使用以下代码

[Files]
Source: MyApp.exe; DestDir: {commondesktop};
于 2012-04-25T06:24:05.120 回答
1
  1. 我认为您必须创建新软件包,然后卸载以前的软件包,然后使用新软件包正确安装它。

  2. 您必须手动将应用程序文件夹 [C:\Users\User1\MyApp] 移动到 C:\Users\Public\Desktop,并删除快捷方式,然后创建指向 C:\Users\Public\Desktop\MyApp\ 的新快捷方式我的应用程序

  3. 或者最糟糕的是,将文件夹 [C:\Users\User1\MyApp] 或 User1 帐户的安全性更改为非私人...以便任何用户都可以访问该文件夹...这里是有关如何执行此操作的链接 a。http://support.microsoft.com/kb/930987 b. http://www.scribd.com/doc/101389/Password-Protecting-and-Privatizing-Windows-XP-User-Accounts

或使用谷歌或任何搜索引擎搜索如何删除 xp 中的私有化文件夹

于 2012-04-26T00:49:40.507 回答