bounty将在3天后过期。回答此问题可获得+50的声誉奖励。dbz正在寻找来自声誉良好来源的答案。
我使用cMake
+ Wix
来生成我的安装程序。我的程序必须安装在任何计算机的C:\Users\UserName\MyProgram
中。
问题是,当我使用cPack
生成安装程序时,我是这样设置安装目录的:
set(CPACK_WIX_SKIP_PROGRAM_FOLDER TRUE)
set(CPACK_PACKAGE_INSTALL_DIRECTORY $ENV{USERPROFILE}\\${CPACK_PACKAGE_VENDOR}\\${CPACK_PACKAGE_NAME})
当我生成安装程序并将其提供给客户端来安装我的程序时,程序试图在“旧”用户名(生成安装程序的机器的用户名)下安装。
C:\Users\OldUserName\MyProgram
此用户名在正在安装的计算机上无法识别,因为它不存在,因为它是生成安装程序的计算机的用户,而不是当前用户。
为什么会这样呢?因为它是作为安装路径存储的,我不知道如何告诉WIX取安装程序运行机器的“当前用户”来生成安装路径。
1条答案
按热度按时间zfycwa2u1#
我没有wix + cpack管道设置,但发现这个问题很有趣。也许这些信息可能会有帮助。
注使用此功能创建的安装程序不会考虑创建安装程序的系统与可能使用安装程序的系统之间的差异。因此,安装程序可能会尝试安装到不可用或非预期的驱动器上,或者安装路径不符合执行安装的系统的本地化或惯例。