新しいインストールのためにCPACK(NSIS)を適切にアップグレードするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4731156

  •  12-10-2019
  •  | 
  •  

質問

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

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

また、私たちのCPACKコールは、最後の手段として別のスクリプトに包まれていますが、上記の1つを行うようにプロジェクトをハック/再構成することは可能ですか?

役に立ちましたか?

解決 2

私の解決策は、NSISファイルを個別に維持することでしたが、それほど余分な労力ではないことが判明しました。

他のヒント

CPACKが使用するNSISテンプレートを編集する必要があります。 cmakeインストールフォルダー/modules/nsis.template.inで見つけることができます。

そこに、どこかで、多分一般的なセクションの開始時に、あなたは置くことができます:setoverwrite on

私はそれを試してみる機会がありませんでしたが、これはトリックをするはずです。

SetoverWriteの議論の詳細については、NSISスクリプトをお読みください マニュアル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top