我正在使用CPack WIX生成器来创建安装程序。安装程序需要在目标系统上的%ALLUSERSPROFILE%\ foo \文件夹中安装文件。
我找不到在安装树之外安装文件的方法(C:\ Program Files \ foo ...)
如何实现这一目标?
我不熟悉CPack,但MSI System Folder Property通常是CommonAppDataFolder。所以基本上你可以使用它作为托管你想要在%ALLUSERSPROFILE%
中安装的文件和资源的组件的目标文件夹。
文件夹重定向:您可能应该注意,这些系统文件夹属性中的某些属性会根据每台计算机还是每用户安装的程序包重定向 - 与安装期间ALLUSERS的值相关。有关详细信息,请参阅链接(“安装上下文”和“单一程序包创作”很有启发性)。您提到的文件夹应该是稳定的,而不是重定向。
个人观点:此文件夹重定向和每用户安装功能是我最不喜欢的MSI部分。我的意思是尽可能安装每台机器。重要的是(以及这种小咆哮的原因):一个能够安装每个用户的软件包,根本不应该以CommonAppDataFolder
为目标(因为它不会重定向到每个用户的目标)。
目前这是不可能的。 CMake目前不允许修补目录。见https://gitlab.kitware.com/cmake/cmake/issues/14890。