Windows 7 如何将NSIS的RequestExecutionLevel选项添加到CMakeLists.txt
我正在尝试让在Windows7上使用NSIS编译的安装程序在没有管理员权限的情况下运行。该项目由CMake建立,并使用VC2010编译。我发现我必须使用Windows 7 如何将NSIS的RequestExecutionLevel选项添加到CMakeLists.txt,windows-7,cmake,nsis,cpack,Windows 7,Cmake,Nsis,Cpack,我正在尝试让在Windows7上使用NSIS编译的安装程序在没有管理员权限的情况下运行。该项目由CMake建立,并使用VC2010编译。我发现我必须使用 RequestExecutionLevel user 选择权。我的问题是:我必须在CMakeLists.txt中输入什么才能将此选项传递给NSIS?我发现 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "RequestExecutionLevel user") 在谷歌上的某个地方,但这给出了一个错误,说这个选项
RequestExecutionLevel user
选择权。我的问题是:我必须在CMakeLists.txt中输入什么才能将此选项传递给NSIS?我发现
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "RequestExecutionLevel user")
在谷歌上的某个地方,但这给出了一个错误,说这个选项不能在本节中设置
非常感谢您的帮助您可以尝试以下步骤:
xcopy\cmake install path\modules\share\cmake xxx\modules\NSIS.template.in\your project directory\packaging\
RequestExecutionLevel用户添加到NSIS.template.in
列表(附加CMAKE\u模块\u路径${CMAKE\u源目录}/打包)
然后重新构建您的包,看看它是否有效。我拥有的CMake版本在NSIS模板中有
@CPACK\u NSIS\u DEFINES@
,因此将集合(CPACK\u NSIS\u DEFINES“RequestExecutionLevel user”)
添加到CMakeLists.txt也可以完成这项工作
虽然。我不知道CMake,但在NSIS中,RequestExecutionLevel是installer属性(在本节中无效)。因此,您可以将其放在脚本中除节或函数之外的任何位置。是这样吗?