5

InstallShield 2010 Express を使用して .NET WinForms アプリをインストールしています。最新の InstallShield プロジェクトはメジャー アップグレードであるため、[アップグレード パス] セクションを使用して、以前のバージョンのアプリからアップグレードできるようにしました。

問題は、初回インストール時に行われた構成設定 (Program Files\MyCompany\MyApp\myapp.exe.config に書き込まれる) が、最新のアップグレードのインストール時に上書きされることです。これは、ユーザーがすべての構成設定を再度行う必要があることを意味します - 良くありません。

InstallShield プロジェクトでは、myapp.exe.config がWindows インストーラーのバージョン管理規則を使用するように設定されています。myapp.exe.config の create/mod 日付を非常に古い (1/1/1999) に設定して、ターゲット システム上のファイルを上書きしないようにしました。

これ以外は、インストーラーは正常に動作します。このファイルが上書きされないようにするにはどうすればよいですか?

4

4 に答える 4

1

インストーラーで .config ファイルの属性を確認します。重要なアイテムとしてマークされていて、インストール後にユーザーが変更した場合、システムは MSI を使用して、ファイルが破損していて修復が必要であると判断して、ファイルを置き換えます。

于 2011-02-20T18:20:09.813 に答える
1

isxmlinstall で「NOT Installed AND NOT PATCH」と順番に条件を設定する

于 2011-02-01T15:57:43.840 に答える
0

Installsheild には「before_install」スクリプト セクションがありませんか? 既存の構成ファイルをコピーして、インストールが完了したら、新しい構成ファイルを上書きできます。

于 2009-07-30T22:40:49.327 に答える
0

ApplicationSettingsBase.Upgrade() または ApplicationSettingsBase.GetPreviousVersion() を使用してみてください

http://msdn.microsoft.com/en-us/library/system.configuration.applicationsettingsbase.upgrade.aspx

于 2011-01-01T18:26:56.523 に答える