1

アプリ用の inno セットアップ インストーラーを作成しています。アプリが既にインストールされている場合、このインストーラーを完全なインストーラーとこれに応じた更新の両方として機能させたいと考えています。

アプリが既にインストールされている場合、古いファイルを置き換える inno セットアップを使用して「更新」インストールを作成できました。そうでない場合は、完全なインストールが実行されます。

Windows のアンインストール キーに問題があります。Inno セットアップは、インストールごとに 1 つのアンインストール キーを作成します。そのため、更新を行うと、アプリに 2 つのアンインストール キーが作成されます。アンインストール キーの作成を無効にすると、フル インストールでキーが作成されません。

実行時に CreateUninstallRegKey と UpdateUninstallLogAppName をオフにすることはできますか?

4

1 に答える 1

5

フル インストールと更新インストールのサイズにかなりの差がある場合 (通常はそうです)、両方を実際にはまったく同じインストーラにする必要があります。

これを行う最も簡単な (そして最も信頼できる) 方法は、確実に単一の を設定することですAppId(これを行わなかったフィールドにすでにいくつかの出力がある場合は、 を既存AppIdの と同じ値に設定します)。 AppName

次に、[Files]エントリを確認します。すべてのファイルで適切なFlagsものが指定されていることを確認してください。(原則として、 にインストールされたファイルに{app}は通常 " ignoreversion" が必要です。ユーザーが編集可能なファイルには " onlyifdoesntexist" が必要です。共有ライブラリには " replacesameversion sharedfile" が必要ですが、特定のケースでは別のものが必要になる場合があります。)

次に and を設定するだけDisableDirPage=autoDisableProgramGroupPage=auto(その他はすべてデフォルトのままにします)、Inno は、元のインストール時に入力された値を使用して、アップグレード用のディレクトリと [スタート] メニューの選択ページを自動的にスキップします。混乱も大騒ぎもありません。

于 2012-07-04T08:17:47.750 に答える