2009-07-23 10 views
1

私は新しいバージョンをインストールする前にアンインストールするために、ユーザーの手を煩わせることなく、私のアプリのすでにインストールされているバージョンを吹き飛ばすします。ここでVisual Studio 2008ビルトインインストーラを使用してインストールを上書きするにはどうすればよいですか?

展開プロジェクトのプロパティは、私が設定されていることを、次のとおりです。

AddRemovePrograms    Icon(Icon) 
Author       Justin Tanner 
Description 
DetectNewerInstalledVersion False 
InstallAllUsers    True 
Keywords 
Localization     English (United States) 
Manufacturer     Company Name 
ManufacturerUrl     
PostBuildEvent 
PreBuildEvent 
ProductCode     {3F401BEF-4A95-48AE-A79F-FBB60E90E26A} 
ProductName     Utility App 
RemovePreviousVersions   True 
RunPostBuildEvent    On successful build 
SearchPath 
Subject 
SupportPhone 
SupportUrl 
TargetPlatform     x86 
Title       Utility App 
UpgradeCode     {B2DC1E38-5605-4CC7-A815-2E1F9D7EDE41} 
Version      1.0 
+0

downvoteあなたは正しい答えを受け入れることを気にしませんでしたので。 –

+0

@ qes残念ながら、私はこの問題に取り組んでいません(2年経ちました)、答えを確認できません(ビジュアルスタジオはありません)。それは十分な検証でなければなりません。 –

答えて

0

をあなたは自分のインストーラプロジェクトを選択し、プロパティに移動し、その後アンインストール操作を実行し、真のRemovePreviousVersion =を設定したい場合は...

+0

良いアイデア!、それを試みましたが、まだこの製品の別のバージョンがインストールされています。インストールは続行できません.... –

4

インストーラのセットアッププロジェクトのVersionプロパティを変更します。

この変更を行った後、Visual StudioはYesを選択してくださいIt is recommended that the ProductCode be changed if you change the version. Do you want to do this?言うだろう。バージョンおよび製品コードを更新した後に作成さ

インストーラが自動的に前のバージョンのアップデートを以前にインストールしたバージョンの「アップグレード」します。

残念ながら、すべてのデプロイメントでこのような変更を行うことを忘れないように、すべてのビルドでバージョンと製品コードを更新するようにセットアッププロジェクトを構成する方法はわかりません。

+0

これはうまくいくようですが、インストーラによるWindowsサービスのセットアップに問題があります。それはサービスを削除しないので、新しいバージョンをインストールすると、同じ名前/ GUIDのサービスをインストールしようとすると爆発します。 –

+0

インストールされたアプリケーションの一部としてWindowsサービスの登録と削除を管理することは別の問題です。 – iammichael

+0

@ianmichael:VS 2005とそれ以降のバージョンで構築されたインストーラの間には、直接関連する重要な変更がありますが、真です。 http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/bedbb8bd-dad5-4bcb-a87a-ac69386669b4/ –