Windows “安装到特定用户文件夹”更改为“安装到当前用户文件夹”

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文件夹的快捷方式?请参见新闻组

如果(使用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等效程序)下


如果您有用户将从“每用户”安装升级,则需要使用不同的
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};
  • 我认为您必须创建新的软件包,然后卸载以前的软件包,并使用您的新软件包正确安装它

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

  • 或者在最坏的情况下,将文件夹[C:\Users\User1\MyApp]或User1帐户的安全性更改为非私有。。。所以任何用户都可以访问该文件夹。。。下面是关于如何做到这一点的链接 A. b


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

    谢谢他的评论。问题是,我们遇到的用户已经安装到用户文件夹。现在我们正在迁移到单机安装,这会引起一些麻烦。我刚刚在回复中添加了一条关于处理升级的说明。是的。。。这已经是一个令人头痛的问题,没有简单的任务可以做到这一点。但要创建自动移动应用程序的补丁程序,请参阅我下面的补救措施…谢谢。我编写了一个单独的Inno设置脚本,将快捷方式复制到
    {userdesktop
    }和
    {userprograms
    },并在
    [Run
    ]部分下使用
    runasoriginaluser
    标志执行它。可执行文件的位置作为命令行参数传递。此外,我使此脚本的执行取决于用户选择仅为自己安装(而不是为所有用户)。当用户希望应用程序仅对自己可用时,用户仍有责任仅安装到自己的用户文件夹中。感谢您与我一起思考!1:否。许多用户希望保留我们应用程序的私人副本,而不信任其他用户;-)唯一的问题是快捷方式。该程序本身完全能够与其他版本和平共存,无论是否相同。2.这似乎是一个放置可执行文件的非常奇怪的地方。C:\Program Filles\OurApp似乎是共享安装的最佳位置,而任何其他文件夹(包括C:\Users文件夹)都适合私人安装。3.我认为应该避免这种黑客行为,但谢谢你提供了如何做到这一点的链接。