如何将 NSIS 的 RequestExecutionLevel 选项添加到 CMakeLists.txt

Han*_*ans 3 nsis cmake windows-7 cpack

我正在尝试在 Windows 7 上使用 NSIS 编译安装程序以在没有管理员权限的情况下工作。项目用CMake搭建,用VC2010编译。我发现我必须使用

RequestExecutionLevel user
Run Code Online (Sandbox Code Playgroud)

选项。我的问题是:我必须在 CMakeLists.txt 中放入什么才能将此选项传递给 NSIS?我发现

set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "RequestExecutionLevel user")
Run Code Online (Sandbox Code Playgroud)

在 google 上的某个地方,但是会出现错误,说无法在此部分中设置此选项。

任何帮助是极大的赞赏

mlt*_*mlt 5

@CPACK_NSIS_DEFINES@在 NSIS 模板中拥有的 CMake 版本,因此添加set(CPACK_NSIS_DEFINES "RequestExecutionLevel user")到 CMakeLists.txt 也可以完成这项工作。

尽管基于组件的安装可能需要额外的工作