2011-01-19 8 views
0

私はCPack NSISジェネレータを使ってインストーラを作成しています。しかし、私が新しいバージョンをリリースするたびに、ユーザーは古いバージョンをアンインストールせずに新しいインストーラを実行しています(わかります)。新しいインストールでCPack(NSIS)を正しくアップグレードするにはどうすればいいですか?

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

私たちのCPackコールは別のスクリプトでラップされています。最後の手段として、project.nsiファイルをハックして再構成することが可能ですか?

答えて

0

私のソリューションは、別途NSISファイルを維持することでしたNSISスクリプトを読んで、あまり余分な労力であることが判明しました。

4

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

、どこかで、多分全般]セクションの初めに、あなたが置くことができます:私はそれを試してみる機会を持っていなかったものの

この上 SetOverwriteは、トリックを行う必要があります。 SetOverwriteの引数の詳細については

manual

関連する問題