安装程序工具 (Installutil.exe)22
安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源。此工具与 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
安装程序工具 (Installutil.exe)22的更多相关文章
- 安装程序工具 (Installutil.exe)
网址:https://msdn.microsoft.com/zh-cn/library/50614e95(VS.80).aspx 安装程序工具 (Installutil.exe) .NET Fram ...
- Installutil.exe 注册exe
进入到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe目录下,然后输入Installutil.exe 文件路径实现注册 I ...
- Installutil.exe的位置和路径
安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源.此工具与 System.Configuration.Install命名空间中的类一起工作.安转的位置和路径在:C:\WI ...
- 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它
无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...
- 制作Java安装程序
这个工具利用 ANT 来制作在 Windows, MacOS X, Unix 平台上可执行的文件,比如 exe,zip,jar.ROXES ANT Tasks 基于 GPL 发布. http://ww ...
- win7下nsis打包exe安装程序教程
下载软件包: NSIS中文版 :https://pan.baidu.com/s/1mitSQU0 装好之后会出现两个软件:Nullsoft Install System 和 VNISEdit 编译环境 ...
- InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException
原文:把程序安装成windows服务的过程及遇到的问题 做好了定时任务的程序,要把它放在服务器上,作为windows服务运行,也就是说,退出登录,用户注销后程序任然在后台运行. 将exe程序发布为服务 ...
- 批处理安装Windows服务,提示"InstallUtil.exe"不是内部命令也不是外部命令解决方式
今天在测试一个C#写的windows服务的时候,在用bat进行调用cmd安装的时候, cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 InstallU ...
- Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结
最近有对一个Windows应用程序少许维护和修改.修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下. Visual Studio版本:Visual St ...
随机推荐
- Redis命令行之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...
- JS基础之BOM对象
BOM 对象 JavaScript分为 ECMAScript,DOM,BOM. BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其 ...
- 三国武将查询系统 //Java 访问 数据库
import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event ...
- @OneToMany
实体关系之@OneToMany 博客分类: hibernate & ejb SQL Order.java package com.entity; import java.io.Seriali ...
- IDEA中lombok插件的安装
1.在pom.xml中添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId&g ...
- PS 图层后面有索引两字怎么办
ps中图层后面有索引两字的怎么把它拖进别的图中?或怎么把索引去掉? 悬赏分:0 | 解决时间:2010-11-5 08:58 | 提问者:jk500pk 最佳答案 图像--模式 把索引颜色模式改成RG ...
- 从实例看hibernate的主键生成策略
学习了hibernate会发现.hibernate中有实体类.实体类的映射文件.可是我们怎么样才干知道实体类的主键是如何的生成方式呢?hibernate提供的主键生成策略帮我们完美地解答了这个疑问.以 ...
- ng-options bug解决方案(示例)
情况: 无法获取 ng-model 的值 解决方案: 绑定到对象的属性值上 1.页面 <ion-view hide-nav-bar="true"> <ion-co ...
- Ubuntu下编译Android JNI实例全过程
第一步:保证make和gcc可用 在shell中输入make-v.不报错就是对的.(可參考http://wenku.baidu.com/view/d87586c24028915f804dc24a.ht ...
- centos下的hadoop集群实现ssh的无密码登陆
CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...