2012-03-15 9 views
1

Nantを使用してレジストリ項目をインストールする必要があります。しかし、何を試しても、Nant は、アイテムの32ビットバージョン(つまり、Wow6432Nodeレジストリサブフォルダ)をインストールするようです。Nantを使用してレジストリにアイテムをインストールする

ここでは私の最も最近の試みです:

<target name="InstallMyKey"> 
    <property name="MyKey.reg" value="${BuildPath}\some\folder\MyKey.reg" /> 
    <exec program="regedit"> 
     <arg value="/s" /> 
     <arg value="${MyKey.reg}" /> 
    </exec> 
</target> 

は、私は、このようなregedt32をし、REGなどの代替コマンドを使用して試してみた、と%WINDIR%\ SYSWOW64に作業フォルダを設定し、そこからregeditを実行試してみました。これらのどれも働かなかった。

私は(昨日のように)非常に最新のビルドを試してみましたが、同じ問題がありました。

おそらく問題はNantが32ビットのexeであるため、 "ファイルシステムのリダイレクト"のためにregeditの32ビット版が起動するということですか?

誰でもこれを解決しましたか?

+0

これは役に立ちますか? http://msdn.microsoft.com/en-us/library/windows/desktop/aa384129%28v=vs.85%29.aspx 32ビットアプリケーションで64ビットキーにアクセスするためのKEY_WOW64_64KEYフラグを指定する方法について説明します。しかし...私はこの情報を使って自分の問題を解決する方法を知らない! – MrBlueSky

答えて

0

execはNAntからテストする前にコマンドプロンプトからテストしてみてください。これはNAntの問題を除外し、構文を最初に確認するでしょう。フォルダリダイレクトが発生している可能性がありますので、%WINDIR%\ regedit.exeの明示的なパスを試してください(SysWOW64には32ビットバージョンが含まれています)。

+0

私はこの問題が発生した環境にアクセスできなくなりました。しかしこれが唯一の答えだから、私はそれを受け入れるだろう:-) – MrBlueSky

関連する問題