MVC3 Web アプリケーションに VS2010 Web セットアップ プロジェクトを使用しています。インストールで問題なく動作しています。しかし、アップグレードのために MVC3 webapplication バイナリと Web セットアップ プロジェクトのバージョンを (古いバージョンの既存のインストールから) 更新すると、宛先ディレクトリの web.config ファイルは置き換えられません。他のすべてのファイルとディレクトリは置き換えられて更新されますが、「web.config」ファイルのみが Web セットアップによって置き換えられません。
Webアプリケーションで何かを更新するたびに、WebセットアッププロジェクトとMVC3アプリケーションのバージョンを変更しています。
「ProductCode」と「UpgradeCode」も変更してみましたが、それでもweb.configファイルは同じです(最初のバージョンの)
Webセットアッププロジェクトの次のプロパティを設定します
- DetectNewerInstalledVersion - True
- 以前のバージョンを削除 - True
- RestartWWWService - true
既存の web.config ファイルを手動で削除/削除してから新しいバージョンをインストールすると、新しい更新された web.config ファイルが配置されます。この問題は、既存の web.config ファイルが宛先ディレクトリにある場合にのみ発生します。
カスタムアクションの「OnBeforeInstall」を試して、既存のweb.configファイルを削除または名前変更して、新しいwe.configがインストール時にコピーされるようにしました。しかし、カスタムアクションメソッドが実行される前に、すべてのファイルがコピーされることがわかりました。
これを解決するのを手伝ってください。または、クライアントに Web セットアップ プロジェクトを提供する別の方法を提案してください。
前もって感謝します!
編集: Web Setup プロジェクトのバージョンを変更すると、productcode は自動的に変更されますが、upgradecode は同じままであることがわかりました。