2016-08-09 2 views
0

WIXセットアップを使用してRegAsmコマンドを使用してCOMアドインを登録しようとしています。しかし、それはできません。 WixNetFxExtensionNETFRAMEWORK40FULLINSTALLROOTDIRまたはNETFRAMEWORK40CLIENTINSTALLROOTDIRに対しても空白が表示されています。私はパスC:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exeをハードコーディングしようとするとWIXプロパティNETFRAMEWORK40FULLINSTALLROOTDIRが空です

<CustomAction Id="RegisterUsingRegAsm" Directory="PROOFIX_ADDIN" Execute="deferred" Impersonate="no" Return="check" 
       ExeCommand='"[NETFRAMEWORK40FULLINSTALLROOTDIR]regasm.exe" "[PROOFIX_ADDIN]Proofix.View.dll" /codebase' /> 

:ここ

は、カスタムアクションのコードです。それは...

を正常に動作し、ここでの配列情報です:

アクション::RegisterUsingRegAsm、所在地: C:\ユーザーここ

<InstallExecuteSequence> 
    <Custom Action="RegisterUsingRegAsm" Before="InstallFinalize" /> 
</InstallExecuteSequence> 

は、インストーラで生成されるログです\ naveed.butt \ AppData \ Local \ Optimentor \ Proofix \、コマンド: "regasm.exe" "C:\ Users \ naveed.butt \ AppData \ Local \ Optimentor \ Proofix \ Proofix.View.dll" /codebase

あなたはこのよう PropertyRef

欠けているすべての

答えて

1

まず:

NETFRAMEWORK40CLIENTINSTALLROOTDIR64 

<PropertyRef Id="NETFRAMEWORK40CLIENTINSTALLROOTDIR"/> 

第二の問題を使用すると、64ビットのウィンドウ上にある場合は、64ビットの変数を使用する必要があります

しかし、32/64ビットのWindows OSは条件付きで処理できます。この回答からインスピレーションを得ることができます:https://stackoverflow.com/a/12514596/600559

+0

プロパティを追加しようとしましたが、機能しませんでした。私のOSは64ビットですが、32ビットのランタイムもインストールされているので、私が試していないのは「64ビット」の実行時間だけでした。だから問題は、私は本当に64ビットランタイムに変更/切り替えが必要なのでしょうか? –

+0

インストール時(32ビットアプリケーション) - 64ビットOSでNETFRAMEWORK40FULLINSTALLROOTDIR64とNETFRAMEWORK40CLIENTINSTALLROOTDIR64を使用する必要があります –

関連する問題