3

管理者権限なしで動作するように、Windows 7 で NSIS を使用してコンパイルされたインストーラーを取得しようとしています。プロジェクトは CMake でセットアップされ、VC2010 でコンパイルされます。を使用する必要があることがわかりました

RequestExecutionLevel user

オプション。私の質問は: このオプションを NSIS に渡すには、CMakeLists.txt に何を入力する必要がありますか? 見つけた

set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "RequestExecutionLevel user")

Google のどこかにあるのですが、このセクションではこのオプションを設定できないというエラーが表示されます。

どんな助けでも大歓迎です

4

2 に答える 2

5

私が持っている CMake のバージョンは@CPACK_NSIS_DEFINES@NSIS テンプレートに含まれているため、set(CPACK_NSIS_DEFINES "RequestExecutionLevel user")CMakeLists.txt に追加することも同様に機能します。

ただし、コンポーネント ベースのインストールには追加の作業が必要になる場合があります

于 2014-10-06T19:37:46.683 に答える
2

次の手順を試すことができます。

  1. NSIS.template.in をプロジェクト ディレクトリ、たとえば「packaging」という名前のサブディレクトリにコピーします。

    xcopy \cmake-install-path\modules\share\cmake-xxx\Modules\NSIS.template.in \your-project-directory\packaging\

  2. RequestExecutionLevel userNSIS.template.inに追加

  3. CMakeLists.txt の CMAKE_MODULE_PATH を更新します。

    list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/packaging)

次に、パッケージを再構築して、機能するかどうかを確認します。

于 2012-03-31T06:50:49.933 に答える