对特定用户文件夹的安装更改为安装到当前用户文件夹

时间:2012-04-24 15:23:20

标签: windows installation inno-setup desktop-shortcut

如果(使用Inno安装程序)我将MyApp安装到C:\ Users \ User1 \ MyApp并在公共桌面上创建快捷方式。此快捷方式正确指向User1桌面上的C:\ Users \ User1 \ MyApp \ MyApp.exe,但它指向User2桌面上的C:\ Users \ User2 \ MyApp \ MyApp.exe!

据我所知,在User文件夹中创建一个机器安装会遇到问题,但我们仍然遇到过许多客户,他们过去一直都是这样做的(当我们或多或少地安装了每个用户时)。那么如何让快捷方式指向所有用户的Users \ User1文件夹呢?

3 个答案:

答案 0 :(得分:2)

在新闻组中查看我的lengthy replies

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

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

如果您的用户将从“按用户”安装升级,则需要使用其他AppID,以免升级现有安装。

答案 1 :(得分:2)

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

然后使用Inno设置包含{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};

答案 2 :(得分:1)

  1. 我认为您必须创建新软件包,然后卸载以前的软件包,并使用新软件包正确安装。

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

  3. 或者最坏的情况是,将文件夹[C:\ Users \ User1 \ MyApp]或User1帐户的安全性更改为非私有...所以任何用户都可以访问该文件夹...这里是链接怎么做 一个。 http://support.microsoft.com/kb/930987http://www.scribd.com/doc/101389/Password-Protecting-and-Privatizing-Windows-XP-User-Accounts

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