Windows “安装到特定用户文件夹”更改为“安装到当前用户文件夹”
如果(使用Inno安装程序)我将MyApp安装到C:\Users\User1\MyApp并在公共桌面上创建快捷方式。此快捷方式正确指向User1桌面上的C:\Users\User1\MyApp\MyApp.exe,但它指向User2桌面上的C:\Users\User2\MyApp\MyApp.exe 我知道在用户文件夹中创建机器安装会带来问题,但我们遇到了许多客户,他们过去确实这样做过(当我们或多或少按用户安装时)。因此,如何为所有用户创建指向Users\User1文件夹的快捷方式?请参见新闻组中的my 总之,User2无法可靠地访问User1的配置文件,而且资源管理器似乎正在更改目标以适应这种情况。只有当1)它无法访问文件夹或2)它位于域上并假设漫游配置文件时,它才可以这样做,但由于它是未定义的行为,它可以做任何事情 最好的办法是阻止它安装到c:\users(或O/S等效程序)下Windows “安装到特定用户文件夹”更改为“安装到当前用户文件夹”,windows,installation,inno-setup,desktop-shortcut,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 我知道在用户文件夹中创建机器安装会带来问题,但我们遇到了许多客户,他们过去确实这样做过(当我们或多或少按用户安装时)。因此,如何为所有用户创建指向Users\User1文件夹的快捷方式?请参见新闻组
如果您有用户将从“每用户”安装升级,则需要使用不同的
AppID
,这样它就不会附加到现有安装的升级中。更好的方法是在驱动器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};
或者使用谷歌或任何搜索引擎搜索如何删除xp中的私有化文件夹谢谢他的评论。问题是,我们遇到的用户已经安装到用户文件夹。现在我们正在迁移到单机安装,这会引起一些麻烦。我刚刚在回复中添加了一条关于处理升级的说明。是的。。。这已经是一个令人头痛的问题,没有简单的任务可以做到这一点。但要创建自动移动应用程序的补丁程序,请参阅我下面的补救措施…谢谢。我编写了一个单独的Inno设置脚本,将快捷方式复制到
{userdesktop
}和{userprograms
},并在[Run
]部分下使用runasoriginaluser
标志执行它。可执行文件的位置作为命令行参数传递。此外,我使此脚本的执行取决于用户选择仅为自己安装(而不是为所有用户)。当用户希望应用程序仅对自己可用时,用户仍有责任仅安装到自己的用户文件夹中。感谢您与我一起思考!1:否。许多用户希望保留我们应用程序的私人副本,而不信任其他用户;-)唯一的问题是快捷方式。该程序本身完全能够与其他版本和平共存,无论是否相同。2.这似乎是一个放置可执行文件的非常奇怪的地方。C:\Program Filles\OurApp似乎是共享安装的最佳位置,而任何其他文件夹(包括C:\Users文件夹)都适合私人安装。3.我认为应该避免这种黑客行为,但谢谢你提供了如何做到这一点的链接。