</nav><p>安装程序工具是一个命令行实用工具,你可以通过此工具执行指定程序集中的安装程序组件,从而安装和卸载服务器资源。 此工具与 命名空间中的类配合使用。</p>
讯享网
此工具会自动随 Visual Studio 一起安装。 若要运行该工具,请使用 Visual Studio 开发人员命令提示或 Visual Studio 开发人员 PowerShell。
在命令提示符处,键入以下内容:
讯享网
- 或 -
显示该工具的命令语法和选项。 assembly
-或-
assembly
显示由指定的程序集中的个别安装程序识别的其他选项,以及 InstallUtil.exe 的命令语法和选项。 此选项将各安装程序组件的 属性返回的文本添加到 InstallUtil.exe 的帮助文本。 例如,如果 为 ,则 和 选项可用。 " assemblyName
,Version= major.minor.build.revision
,Culture= locale
,PublicKeyToken= publicKeyToken"
指定必须在全局程序集缓存中注册的程序集的强名称。 必须使用程序集的版本、区域性和公钥标记完全限定程序集名称。 完全限定名必须用引号括起。
例如,“myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0”是完全限定的程序集名称。
directoryName 指定 .InstallState 文件的目录,其中包含用来卸载程序集的数据。 默认为包含程序集的目录。 [ filename] 指定在其中记录安装进度的日志文件的名称。 默认情况下,如果省略 选项,则会创建名为 assemblyname.InstallLog 的日志文件。 如果省略 filename,则不生成任何日志文件。 ={|} 如果为 ,则会将输出显示到控制台。 如果为 (默认值),则取消将输出显示到控制台。 如果在安装过程中的任何时候出现异常,则将调用堆栈输出到日志文件。 [] 卸载指定的程序集。 与其他选项不同, 选项不论出现在命令行的什么位置,都将应用于所有程序集。
程序集中使用的独立安装程序可识别除选项部分列出的选项之外的选项。 要了解有关这些选项的信息,可以在命令行中运行带有程序集路径的 InstallUtil.exe 以及 或 选项。 要指定这些选项,请将它们与 InstallUtil.exe 可识别的选项一起包含在命令行中。
所有选项和命令行参数都将写入到安装日志文件中。 但是,如果使用 由某些安装程序组件识别的参数,密码信息将替换为八个星号 , 并且不会显示在日志文件中。
.NET Framework 应用程序由传统的程序文件和关联的资源(例如消息队列、事件日志和性能计数器)组成,必须在部署应用程序时创建这些计数器。 安装应用程序时可以使用程序集的安装程序组件创建这些资源,而在卸载应用程序时可以使用这些组件删除这些资源。 Installutil.exe 检测并执行这些安装程序组件。
可以在同一个命令行中指定多个程序集。 出现在一个程序集名称前面的任何选项都将应用于该程序集的安装。 除了 和 之外,选项可以是累积的,但也是可重写的。 就是说,为一个程序集指定的选项适用于所有后续程序集,除非为该选项指定新值。
如果对某个程序集运行 Installutil.exe 但不指定任何选项,则 Installutil.exe 会将下面三个文件放到该程序集的目录中:
- InstallUtil.InstallLog - 包含安装进度的常规说明。
- assemblyname.InstallLog - 包含特定于安装过程的提交阶段的信息。 关于提交阶段的更多信息,请参见 方法。
- assemblyname.InstallState - 包含用于卸载该程序集的数据。
Installutil.exe 使用反射检查指定的程序集以及查找将 特性设置为 的所有 类型。 该工具然后对 类型的每个实例执行 或 方法。 Installutil.exe 以事务性方式执行安装;也就是说,如果有一个程序集未能安装,则 Installutil.exe 会回滚其他所有程序集的安装。 卸载不是事务性的。
Installutil.exe 无法安装或卸载延迟签名的程序集,但可以安装或卸载具有强名称的程序集。
公共语言运行时 (CLR) 的 32 位版本仅附带 32 位版本的 Installer 工具,但 CLR 的 64 位版本附带了 32 位和 64 位版本的 Installer 工具。 使用 64 位 CLR 时,使用 32 位安装程序工具安装 32 位程序集,使用 64 位安装程序工具安装 64 位和公共中间语言 (CIL) 程序集。 这两种版本的安装程序工具的行为方式相同。
无法使用Installutil.exe来部署使用 C++ 创建的 Windows 服务,因为Installutil.exe无法识别由C++编译器生成的嵌入式本机代码。 如果尝试使用 Installutil.exe 部署 C++ Windows 服务,则会引发异常(如 BadImageFormatException)。 要处理这种情况,请将服务代码移到 C++ 模块,然后使用 C# 或 Visual Basic 编写安装程序对象。
下列命令显示了 InstallUtil.exe 的命令语法和选项的说明。
下列命令显示了 InstallUtil.exe 的命令语法和选项的说明。 如果已向安装程序的 属性分配了帮助文本,则它还会在 中显示安装程序组件支持的选项的说明的列表。
讯享网
下面的命令执行 程序集中的安装程序组件。
下面的命令通过使用 开关和完全限定名执行程序集中的安装程序组件。
讯享网
以下命令执行一个以文件名指定的程序集和一个以强名称指定的程序集中的安装程序组件。 请注意,以文件名称指定的所有程序集必须在以强名称指定的程序集前面,因为无法重写 选项。

下面的命令执行 程序集中的卸载程序组件。
讯享网
以下命令执行程序集 和 中的卸载程序组件。
由于 选项在命令行中所处的位置不重要,因此这就等效于以下命令。
讯享网
下面的命令执行 程序集中的安装程序并指定将进度信息写入到 中。
以下命令执行程序集 中的安装程序,指定将进度信息写入到 中,并使用安装程序的自定义 选项来指定应对系统注册表进行更新。
讯享网
以下命令执行程序集 中的安装程序,使用安装程序的自定义选项 来指定用户的电子邮件地址,并禁止输出到日志文件。
下面的命令将 的安装进度写入到 中,并将 的进度写入到 中。
讯享网
- 工具
- 开发人员命令行 shell

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208395.html