新しいインストールのためにCPACK(NSIS)を適切にアップグレードするにはどうすればよいですか?
質問
CPACK NSISジェネレーターを使用してインストーラーを作成しています。ただし、新しいバージョンをリリースするたびに、ユーザーは古いバージョンをアンインストールせずに新しいインストーラーを実行しています(理解できます)。
既存のファイルをすべて上書きすることは可能ですか?それに失敗すると、既にインストールされている場合、インストールをブロックする方法はありますか?
また、私たちのCPACKコールは、最後の手段として別のスクリプトに包まれていますが、上記の1つを行うようにプロジェクトをハック/再構成することは可能ですか?
解決 2
私の解決策は、NSISファイルを個別に維持することでしたが、それほど余分な労力ではないことが判明しました。
他のヒント
CPACKが使用するNSISテンプレートを編集する必要があります。 cmakeインストールフォルダー/modules/nsis.template.inで見つけることができます。
そこに、どこかで、多分一般的なセクションの開始時に、あなたは置くことができます:setoverwrite on
私はそれを試してみる機会がありませんでしたが、これはトリックをするはずです。
SetoverWriteの議論の詳細については、NSISスクリプトをお読みください マニュアル
所属していません StackOverflow