2013-10-23 21 views
5

Inno SetupでVi​​sual Studioインストーラのアップグレードコードと同等のものは何ですか?アップグレードコードを使用して製品を検索するには、この記事のHow do I uninstall related products in Inno Setup using an InstallShield Upgrade Code GUIDが見つかりました。 AppIdはUpgradeCodeと同じですか?私はInnoのセットアップには新しく、誰も私を助けてくれますか?Innoセットアップでアップグレードコードを同等にする

答えて

4

通常、アップグレードをインストールするときに古いバージョンのアプリケーションをアンインストールしません。

AppIdは関連性があります。同じIDを持つ2人のインストーラ(またはより一般的には同じインストーラの2つのバージョン)が与えられている場合、デフォルトでInnoは以前のインストールと同じフォルダにインストールするようになり、2人はアンインストール情報を共有します。一般

、同じアプリケーションのアップグレード版をリリースするときあなたがする必要があるすべては(あなたがIDを指定しなかった場合やAppNameAppIdは旧バージョンと同じであることを確認することです、そしてすべてのものうまくいくでしょう。

DisableDirPage=auto 
DisableProgramGroupPage=auto 

これは、ユーザーが最初にインストールしますが、非表示にする場所を選択できます:強く(でも最初のバージョン用)ものの、推奨される

一つのことは、あなたの[Setup]セクションに以下を追加することですその後のインストール/アップグレード時の選択とにかくInnoは以前の場所にデフォルト設定されているので、あるインストールから次のインストールへインストール場所を変更することによって起こり得る混乱(および残されたファイル)を回避します。

それ以外では、他に何もする必要はほとんどありません。ごくまれに、以前のバージョンで使用されていた特定のファイルを冗長化することができます(たとえば、特定のライブラリを使用しないなど)。もしあなたがこれを処理するには、[InstallDelete]エントリを使用して、もはや必要ではない以前のバージョンからファイルを削除することができます。 (特定のファイルのみを名前で削除するようにしてください - ワイルドカードを使用するのは非常に危険です。)巨大でない限り、通常は冗長なファイルを残すことにそれほど大きな害はありません。ユーザーがアンインストールします。

さらに動作をカスタマイズする場合は、[Code]で行うことができます。

+1

現在のところ、どこにインストールするかを選択するオプションはありません。だから私はAppIdとAppNameを同じように保つ必要があります。それは大変感謝しています:) –

+4

'AppId'が変わらない限り、' AppName'を変更することができます。しかし、既に 'AppId'が指定されていないスクリプトを使ってソフトウェアをリリースした場合、あなたの* next *バージョンに同じ' AppName'と 'AppId'を持たせるか、 AppId'は以前のバージョンの 'AppName'に等しく設定されています(' AppId'がありません)。私はそれがはっきりしていることを望む:) – Miral

+1

[DisableDirPage](http://www.jrsoftware.org/ishelp/index.php?topic=setup_disabledirpage)および[DisableProgramGroupPage](http://www.jrsoftware.org/ishelp/index.php?topic= setup_disableprogramgrouppage)がデフォルトでautoになりました。 –