使用Nant在注册表中安装项目
问题描述:
我需要使用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位版本的注册表?
任何人解决了这个问题?
答
从NAnt测试它之前,请尝试从命令提示符进行测试,因为那是exec
将会执行的操作。这将排除任何NAnt问题并首先确认您的语法。你是正确的文件夹重定向可能正在发生,所以请尝试显式路径%WINDIR%\ regedit.exe(SysWOW64包含32位版本)。
+0
我再也不能访问我遇到过这个问题的环境。但是,因为这是任何人提供的唯一答案,我会接受它:-) – MrBlueSky 2013-03-13 10:54:47
请问这有帮助吗? 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