現象
たとえば次のようなシナリオを考えてみます。
Microsoft Visual Studio 2008 セットアップ プロジェクトをビルドし、生成された MSI ファイルをインストール パスにインストールします。
セットアップ プロジェクトを Visual Studio 2010 に移行し、メジャー アップグレードに対して次のアクションを実行します。
- ProductVersion プロパティのメジャー フィールドを変更する。
- ProductCode プロパティを変更する。
- RemovePreviousVersions プロパティを True に設定します。
セットアップ プロジェクトをリビルドし、生成された MSI ファイルを同じインストール パスにインストールします。
このシナリオでは、インストール パスのファイルとレジストリ キーが予期せず表示されなくなります。
原因
この問題は、Visual Studio 2010 で GUID の作成に別のハッシュ アルゴリズムが使用されているために発生します。 Visual Studio 2010 セットアップ プロジェクトから作成された MSI ファイルをインストールすると、MSI ファイルは GUID が変更されたと判断し、プロジェクトの順序に基づいてインストール パスのファイルとレジストリ キーを削除します。
解決策
この問題を解決するには、この修正プログラムを適用します。 この修正プログラムでは、 BackwardCompatibleIDGeneration プロパティが導入されています。 既定では、このプロパティは false に設定されています。 Visual Studio 2010 でセットアップ プロジェクトをビルドする前に、 BackwardCompatibleIDGeneration プロパティを明示的に True に設定して修正プログラムを有効にする必要があります。
修正プログラムの情報
マイクロソフトでは、この問題を修正する修正プログラムを提供しています。 ただし、この修正プログラムは、この資料で説明されている問題のみを修正することを目的としています。 この修正プログラムは、ここで説明する問題が発生しているシステムにのみ適用してください。 この修正プログラムは、今後さらにテストを行う場合があります。 したがって、この問題で深刻な影響を受けていない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことを推奨します。
この問題を直ちに解決するには、Microsoft Customer Support Services に連絡して修正プログラムを入手してください。 マイクロソフト カスタマー サービス サポートの電話番号一覧を参照、または別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注: Microsoft サポート担当者が、特定の更新プログラムを適用することにより問題が解決されると判断した場合、まれに通常サポート依頼にかかる料金が免除されることがあります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。
この修正プログラムを MSDN コード ギャラリーからダウンロードするには、次のマイクロソフト Web サイトを参照してください。
http://code.msdn.microsoft.com/KB2418919
注: 修正プログラムを使用できる言語は MSDN コード ギャラリーに表示されます。 目的の言語が一覧に表示されない場合は、コード ギャラリー リソース ページでその言語を使用できないためです。
または、次の Microsoft Connect Web サイトからこの修正プログラムをダウンロードすることもできます。
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676
前提条件
この修正プログラムを適用するには、Visual Studio 2010 がインストールされている必要があります。
再起動に関する情報
この修正プログラムの適用後、コンピュータの再起動が必要な場合があります。 この修正プログラムを適用する前に、Visual Studio または Microsoft .NET Framework アプリケーションのインスタンスをすべて終了することをお勧めします。
修正プログラムの置き換えに関する情報
この修正プログラムを適用しても、以前にリリースされた修正プログラムが置き換えられることはありません。
ファイル情報
この修正プログラムのグローバル版では、次の表に示す各属性を持つファイル群がインストールされます。 これらのファイルの日付と時刻は世界協定時刻 (UTC) で記載されています。 お使いのコンピューターでは、これらのファイルの日付と時刻は夏時間 (DST) 調整済みのローカル時刻で表示されます。 さらに、ファイルに対して特定の操作を実行すると、日時が変更される場合があります。
| ファイル名 | ファイルのバージョン | ファイル サイズ | 日付 | 時刻 | プラットフォーム |
|---|---|---|---|---|---|
| Dpca.dll | 10.0.30319.464 | 236,872 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 145,232 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 145,744 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 146,256 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 147,280 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 147,792 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 148,304 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpdpl.dll | 10.0.30319.464 | 904,520 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpedt.dll | 10.0.30319.464 | 696,136 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpplg.dll | 10.0.30319.464 | 2,606,408 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprj.dll | 10.0.30319.464 | 1,229,640 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 163,152 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 163,664 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 167,248 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 168,272 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 178,000 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 178,512 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 180,560 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 181,072 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Dpprjui.dll | 10.0.30319.464 | 181,584 | 2011 年 5 月 11 日 | 1,308 | x86 |
| Projectsidl3.tlb | 適用外 | 2,816 | 2011 年 5 月 10 日 | 03:47 | 適用外 |
回避策
この問題を回避するには、次のいずれかの方法を使用します。
方法 1: すべてのコンポーネントの GUID を Visual Studio 2008 の GUID と同じに手動で変更します。
方法 2: InstallInitialize アクションの後に RemoveExistingProducts アクションを再シーケンスします。 これにより、古いファイルが削除され、新しいバージョンで再インストールされます。
注: 共有コンポーネントがある場合、このメソッドは機能しません。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
ソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
824684 Microsoft のソフトウェア更新プログラムの説明で使用される一般的な用語の解説