「vsdfxavailable」という条件はどういう意味ですか? (なぜ私のカスタム.net-setupが失敗するのですか?)

StackOverflow https://stackoverflow.com/questions/4588437

質問

Visual Studio 2010では、プロジェクト「Visual Studio Installer」をセットアップしています。カスタムアクションが含まれています。

私の開発マシンでは、インストーラーは意図したとおりに動作します。

2つのテストマシン(.NET 4.0がインストールされたWindows 7)では、インストールに失敗します。

セットアップは、.NET 4.0フレームワークのインストールを要求/試みています(すでにあります)。

msiexec installer.msi /l*v test.logを使用して、詳細なログを作成しました。以下に抜粋しました。

これにより、私の問題は発射条件の評価の失敗に関連していると信じるようになります

vsdfxavailable

Googleでは、貼り付けされたログファイルを参照するだけです。

この状態は何ですか?誰かがログファイルを見て、これがエラーの原因であることを確認できますか?

ありがとう!

完全なログはこちらです: http://codetidy.com/359

Action start 17:19:49: VSDCA_VsdLaunchConditions.
INFO   : [01/01/2011 17:19:49:377] [VsdLaunchConditions                   ]: Custom Action is starting...
INFO   : [01/01/2011 17:19:49:378] [VsdLaunchConditions                   ]: CoInitializeEx - COM initialization Apartment Threaded...
INFO   : [01/01/2011 17:19:49:378] [VsdLaunchConditions                   ]: Enumerating table using SQL statement: 'SELECT * FROM `_VsdLaunchCondition`'
INFO   : [01/01/2011 17:19:49:379] [VsdLaunchConditions                   ]: Calling MsiGetActiveDatabase...
INFO   : [01/01/2011 17:19:49:379] [VsdLaunchConditions                   ]: MsiDatabaseOpenViewW - Prepare Database to view table...
INFO   : [01/01/2011 17:19:49:380] [VsdLaunchConditions                   ]: TMsiViewExecute - Open Database view on table...
INFO   : [01/01/2011 17:19:49:380] [VsdLaunchConditions                   ]: Checking a launch condition...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: Getting the condition to evaluate...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Fetching value...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Getting value from column '1'...
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: Evaluating condition 'VSDFXAvailable'...
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: RESULT:    Condition is false.
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Fetching value...
INFO   : [01/01/2011 17:19:49:383] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Getting value from column '2'...
This setup requires the .NET Framework version 4.0.  Please install the .NET Framework and run this setup again.  The .NET Framework can be obtained from the web.  Would you like to do this now?
INFO   : [01/01/2011 17:19:49:384] [VsdLaunchConditions                   ]: MsiSetPropertyW - Setting Property Value...
MSI (s) (24!FC) [17:19:49:384]: PROPERTY CHANGE: Adding HideFatalErrorForm property. Its value is 'TRUE'.
INFO   : [01/01/2011 17:19:49:384] [VsdLaunchConditions                   ]: MsiSetPropertyW - Setting property 'HideFatalErrorForm' to 'TRUE'.
ERROR  : [01/01/2011 17:19:49:385] [VsdLaunchConditions                   ]: Custom Action failed with code: '1603'
INFO   : [01/01/2011 17:19:49:385] [VsdLaunchConditions                   ]: Custom Action completed with return code: '1603'
CustomAction VSDCA_VsdLaunchConditions returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 17:19:49: VSDCA_VsdLaunchConditions. Return value 3.
Action ended 17:19:49: INSTALL. Return value 3.
役に立ちましたか?

解決

このプロパティは、.NETフレームワークの起動条件で使用されているようです。 MSIのReglocatorテーブルをチェックして、起動条件がWindowsインストーラー検索を使用しているかどうかを確認してください。もしそうなら、マシンにターゲットレジストリエントリが存在するかどうかを確認してください。

また、.NETフレームワークのインストールがパッケージプラットフォームと一致することを確認してください。たとえば、32ビットインストーラーは、64ビットの.NETフレームワークを検出しない可能性が高いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top