网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx 
安装程序工具 (Installutil.exe)
.NET Framework 2.0
 
其他版本
 

安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源。此工具与 System.Configuration.Install 命名空间中的类一起工作。

 
 
installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname
备注

 
 
 
参数 说明

assemblyname

在其中执行安装程序组件的程序集的名称。

 
选项 说明

/h[elp]

显示该工具的命令语法和选项。

/help assemblypath

显示指定程序集中的个别安装程序所识别的任何附加选项。

/?

显示该工具的命令语法和选项。

/? assemblypath

显示指定程序集中的个别安装程序所识别的任何附加选项。

/LogFile=[filename]

指定在其中记录安装进度的日志文件的名称。默认文件名是 assemblyname.InstallLog。

/AssemblyNameassemblyName

[,Version=major.minor.build.revision]

[,Culture=locale]

[,PublicKeyToken=publicKeyToken]]

指定程序集的名称。必须使用程序集的版本、区域性和公钥标记完全限定程序集名称。完全限定名必须用引号括起。

例如,“myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0”是完全限定的程序集名称。

/LogToConsole={true|false}

如果为 true,则将输出显示到控制台。如果为 false(默认值),则取消将输出显示到控制台。

/ShowCallStack

如果在安装过程中的任何时候出现异常,则将调用堆栈打印到日志。

/u[ninstall]

卸载程序集。与其他选项不同,/u 应用于所有程序集,不论该选项出现在命令行的什么位置。

备注

 
 

从 .NET Framework 2.0 版开始,32 位版本的公共语言运行库 (CLR) 仍然仅随 32 位版本的安装程序工具一起提供,但 64 位版本的 CLR 同时随 32 位和 64 位版本的安全程序工具一起提供。当使用 64 位 CLR 时,使用 32 位安装程序工具可安装 32 位程序集,使用 64 位安装程序工具可安装 64 位和 Microsoft 中间语言程序集。在其他情况下,这两种版本的安装程序工具的行为相同。

Microsoft .NET Framework 应用程序由传统的程序文件和关联资源组成,如必须在部署应用程序时创建的消息队列、事件日志和性能计数器。安装应用程序时可以使用程序集的安装程序组件创建这些资源,而在卸载应用程序时可以使用这些组件删除这些资源。Installutil.exe 检测并执行这些安装程序组件。

可以在同一个命令行上指定多个程序集。出现在程序集名称前面的任何选项应用于该程序集的安装。为某个程序集指定的选项应用于后面的任何程序集,除非该选项与新程序集名称一起指定。

如果对某个程序集运行 Installutil.exe 但不指定任何选项,则 Installutil.exe 将下面三个文件放到该程序集的目录中:

  • InstallUtil.InstallLog

    包含安装进度的常规说明。

  • assemblyname.InstallLog

    包含安装过程的提交阶段特定的信息。有关提交阶段的更多信息,请参见 Installer.Commit 方法

  • assemblyname.InstallState

    包含用于卸载该程序集的数据。

Installutil.exe 使用反射检查指定的程序集并查找将 RunInstallerAttribute 设置为 true 的所有 Installer 类型。然后此工具在 Installer 类型的每个实例上执行 Install 方法或 Uninstall 方法。Installutil.exe 以事务性方式执行安装;如果有一个程序集未能安装,则 Installutil.exe 回滚其他所有程序集的安装。卸载不是事务性的。

Installutil.exe 无法安装或卸载延迟签名的程序集,但可以安装或卸载具有强名称的程序集。

注意,不能使用 Installutil.exe 部署用 C++ 创建的 Windows 服务。Installutil.exe 无法识别由 C++ 编译器产生的嵌入的本机代码。如果试图使用 Installutil.exe 部署 C++ Windows 服务,则会引发异常(如 BadImageFormatException)。若要处理这种情况,请将服务代码移动到 C++ 模块。然后,用 C# 或 Visual Basic 来编写安装程序对象。

示例

 
 

下列命令显示命令语法和选项的说明。

 
 
installutil

下面的命令执行 myAssembly.exe 程序集中的安装程序组件。

 
 
installutil myAssembly.exe

下面的命令使用 /AssemblyName 开关和完全限定名执行程序集中的安装程序组件。

 
 
installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0"

下面的命令执行 myAssembly.exe 程序集中的卸载程序组件。

 
 
installutil /u myAssembly.exe

下面的命令执行 myAssembly.exe 程序集中的安装程序并指定将进度信息写入 myLog.InstallLog 中。

 
 
installutil /LogFile=myLog.InstallLog myAssembly.exe

下面的命令将 myAssembly.exe 的安装进度写入 myLog.InstallLog 中,并将 myTestAssembly.exe 的进度写入 myTestLog.InstallLog. 中。

 
 
installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile = myTestLog.InstallLog myTestAssembly.exe

最新文章

  1. PAT自测_打印沙漏、素数对猜想、数组元素循环右移、数字加倍重排、机器洗牌
  2. 单从Advice(通知)实现AOP
  3. ulipad python配置
  4. SQL Server性能影响的重要结论
  5. IOS代码
  6. 【转】iPhone 6 屏幕揭秘
  7. node.js常见错误及解决办法
  8. Android 无法Bind Service
  9. compress函数用法详解
  10. 21 FragmentTabHost +Fragment代码案例
  11. Apollo与ROS
  12. loadrunner 上传下载
  13. CodeWarrior 10 添加/修改 头文件路径
  14. dom4j移除节点不成功
  15. Vue项目build打包部署到Tomcat后,刷新报404错误解决方案
  16. Confluence 6 隐藏人员目录
  17. Socket网络编程--小小网盘程序(1)
  18. 稳定获取Android设备唯一码(UUID)的解决方案
  19. Echarts(一)
  20. 微软职位内部推荐-SW Engineer II for WinCE

热门文章

  1. python结构语句(while,if)
  2. PSEUDO LEAST RECENTLY USED (PLRU) CACHE REPLACEMENT
  3. docker使用 命令
  4. Controller配置汇总
  5. VScode开发Vue初尝试(一)
  6. 记住密码后,密码框Password会自动带出数据
  7. python在webservice接口测试中的应用
  8. RabbitMQ核心组件及应用场景
  9. git(三):第一次github了解使用
  10. 洛谷——P2819 图的m着色问题