DOBON.NET

設定ファイルの上書きを防ぐ

注意:セットアッププロジェクトはVisual Studio 2012からサポートされなくなりました。

設定ファイルなどのファイルをMSIファイルで配置した場合、通常はアンインストールで削除されてしまいます。よって、セットアッププロジェクトのRemovePreviousVersionsプロパティを使ってアップデートした時も削除され、新しいファイルに置き換わってしまいます。

これを防ぐためには、設定ファイルのPermanentプロパティをTrueにしてアンインストールで削除しないようにするか、インストーラで配置するのではなく、アプリケーション自身で設定ファイルを作成するような方法があります。ただしこのような方法では、本当にアプリケーションをアンインストールしたい時も、設定ファイルは削除されずに残ることになります。

補足:設定ファイルをアンインストールで削除させずに残す場合、そのファイルが新しいファイルで上書きされるかについては、「インストーラでファイルを上書きする」で説明しています。

このような問題を解消する別の方法が次のリンク先で紹介されています。

ここで紹介されている方法は、RemovePreviousVersionsプロパティで前のバージョンをアンインストールしてから新しいバージョンをインストールするのではなく、インストールしてからアンインストールするという方法です。

具体的には、OrcaでMSIファイルを開き、InstallExecuteSequenceテーブルにあるRemoveExistingProductsアクションのSequence番号を一番最後になるように設定します。通常はInstallFinalizeアクションが最後で、そのSequence番号は6600ですので、それ以上の数(6700など)にして、保存します。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。
共有する

この記事への評価

この記事へのコメント

この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。