【问题标题】:Command Line Variable for .NET Framework.NET Framework 的命令行变量
【发布时间】:2014-01-09 19:25:29
【问题描述】:

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

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

例如,我知道使用 cd %WINDIR% 会得到 C:\Windows。我应该输入什么来访问最新的 .Net Framework 目录?

【问题讨论】:

    标签: .net batch-file command-line


    【解决方案1】:

    使用 Reed Copseys 关于检查注册表的建议,我在 another post 上找到了一个关于如何从批处理文件中读取注册表的示例。

    这是找到 .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
    

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

    【讨论】:

      【解决方案2】:

      没有环境变量可以用作这样的“标准”替代品。大多数安装程序的做法是使用 inspecting the registry 作为框架安装路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-14
        • 2014-05-14
        • 1970-01-01
        • 2022-11-28
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多