1

CPack NSIS ジェネレーターを使用してインストーラーを作成しています。ただし、新しいバージョンをリリースするたびに、ユーザーは古いバージョンをアンインストールせずに新しいインストーラーを実行しています (これは理解できます)。

インストーラーにすべての既存のファイルを上書きさせることは可能ですか? それが失敗した場合、既にインストールされている場合、インストールをブロックする方法はありますか?

また、CPack 呼び出しは別のスクリプトでラップされています。最後の手段として、project.nsi ファイルをハック/再構成して、上記のいずれかを実行することは可能ですか?

4

2 に答える 2

4

CPackが使用するNSISテンプレートを編集する必要があります。cmakeインストールフォルダ/Modules/NSIS.template.inにあります。

そこで、どこかで、おそらく一般セクションの冒頭に、次のように置くことができます:SetOverwrite on

試してみる機会はありませんでしたが、これでうまくいくはずです。

SetOverwriteの引数の詳細については、NSISスクリプトマニュアルをお読みください。

于 2011-06-05T20:33:15.673 に答える
0

私の解決策は、NSIS ファイルを個別に維持することでした。

于 2011-10-11T02:19:03.707 に答える