.NET Framework的命令行变量

Tru*_*die 6 .net command-line batch-file

我正在尝试编写一个使用installutil.exe安装Windows服务的批处理文件.我想使用最新版本的.Net Framework中的installutil.exe(位于我的机器上的C:\ Windows\Microsoft.NET\Framework\v4.0.30319中).

有没有一种简单的方法可以将命令行中的目录更改为最新的.NET Framework目录?

例如,我知道使用cd%WINDIR%会给我C:\ Windows.我会输入什么来获取最新的.Net Framework目录?

Tru*_*die 11

使用Reed Copseys关于检查注册表的建议我在另一篇文章中找到了一个关于如何从批处理文件中读取注册表的示例.

这是我的批处理文件,它找到.Net 4 Framework的安装目录并安装我的服务:

@SET INSTALLUTILDIR=
@for /F "tokens=1,2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v "InstallPath"') DO (
    if "%%i"=="InstallPath" (
        SET "INSTALLUTILDIR=%%k"
    )
)

%INSTALLUTILDIR%\installutil MyService.exe
Run Code Online (Sandbox Code Playgroud)

这里是您可以找到所需框架的特定版本的注册表项的链接:http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id = 318785