如果(使用Inno安装程序)我将MyApp安装到C:\ Users \ User1 \ MyApp并在公共桌面上创建快捷方式。此快捷方式正确指向User1桌面上的C:\ Users \ User1 \ MyApp \ MyApp.exe,但它指向User2桌面上的C:\ Users \ User2 \ MyApp \ MyApp.exe!
据我所知,在User文件夹中创建一个机器安装会遇到问题,但我们仍然遇到过许多客户,他们过去一直都是这样做的(当我们或多或少地安装了每个用户时)。那么如何让快捷方式指向所有用户的Users \ User1文件夹呢?
答案 0 :(得分:2)
总之,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)
我认为您必须创建新软件包,然后卸载以前的软件包,并使用新软件包正确安装。
您必须手动将应用程序文件夹[C:\ Users \ User1 \ MyApp]移动到C:\ Users \ Public \ Desktop,然后删除快捷方式,然后创建指向C:\ Users \的新快捷方式公共\桌面\ MyApp的\ MyApp.exe的
或者最坏的情况是,将文件夹[C:\ Users \ User1 \ MyApp]或User1帐户的安全性更改为非私有...所以任何用户都可以访问该文件夹...这里是链接怎么做 一个。 http://support.microsoft.com/kb/930987 湾http://www.scribd.com/doc/101389/Password-Protecting-and-Privatizing-Windows-XP-User-Accounts
或使用谷歌或任何搜索引擎搜索如何删除xp中的私有化文件夹