2012-03-15 77 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資料,並從那裏運行註冊表編輯器。這些都沒有工作。

我試過服用Nant的最新版本(截至昨天),並得到了同樣的問題。

也許問題是,南特是一個32位的exe,因此「文件系統重定向」啓動32位版本的註冊表?

任何人解決了這個問題?

+0

請問這有幫助嗎? http://msdn.microsoft.com/en-us/library/windows/desktop/aa384129%28v=vs.85%29.aspx它解釋了32位應用程序如何指定KEY_WOW64_64KEY標誌來訪問64位密鑰。但是......我不知道如何使用這些信息來解決我的問題! – MrBlueSky 2012-03-22 09:01:14

回答

0

從NAnt測試它之前,請嘗試從命令提示符進行測試,因爲那是exec將會執行的操作。這將排除任何NAnt問題並首先確認您的語法。你是正確的文件夾重定向可能正在發生,所以請嘗試顯式路徑%WINDIR%\ regedit.exe(SysWOW64包含32位版本)。

+0

我再也不能訪問我遇到過這個問題的環境。但是,因爲這是任何人提供的唯一答案,我會接受它:-) – MrBlueSky 2013-03-13 10:54:47

相關問題