使用Nant在注册表中安装项目

时间:2012-03-15 08:02:55

标签: nant 32bit-64bit

我需要使用Nant安装注册表项。但是,无论我尝试什么,Nant 似乎安装了32位版本的项目(即在Wow6432Node注册表子文件夹中)。

这是我最近的尝试:

<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(截至昨天)并且遇到了同样的问题。

也许问题是Nant是32位exe,因此“文件系统重定向”会启动32位版本的regedit?

有人解决了这个问题吗?

1 个答案:

答案 0 :(得分:0)

在从NAnt测试之前尝试从命令提示符进行测试,因为这是exec将要执行的操作。这将排除任何NAnt问题并首先确认您的语法。您可能正在进行文件夹重定向,因此请尝试%WINDIR%\ regedit.exe的显式路径(SysWOW64包含32位版本)。