安装程序工具 (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 ...
随机推荐
- zTree 用法小例
插件地址:链接:http://pan.baidu.com/s/1jHVtyZ0 密码:7kee <select id="getTree" resultType="j ...
- HDU 5636 Shortest Path(Floyd)
题目链接 HDU5636 n个点,其中编号相邻的两个点之间都有一条长度为1的边,然后除此之外还有3条长度为1的边. m个询问,每次询问求两个点之前的最短路. 我们把这三条边的6个点两两算最短路, 然 ...
- git(三):第一次github了解使用
第一次使用github,看了一下使用说明,创建第一个repository,以后还要多学习. 一.Github创建一个新仓库 ······Creat a new repository 创建一个新仓库,点 ...
- Flink学习(一)
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能. 现有的开源计算方案,会把流处理和批处理作为 ...
- Linux下Shell脚本运行程序不输出日志到终端
使用: 脚本路径/脚本名 >/dev/>& 说明: 可以简单的理解/dev/null是Linux下的回收站 >默认是把标准输出重定向 2>&1是把出错输出也定向 ...
- vim 精确匹配查找单词【转】
删除文件中所有的空行:g/^\s*$/d 去掉所有的行尾空格::%s/\s\+$// 整个文件特定字符串的替换:%s/old_word/new_word/g 删除从当前行开始到最后一行的所有内容:., ...
- [NPM] Set default values for package.json using npm set
Npm by default uses global values when initializing a new package.json file. Learn how to set your o ...
- 微信小程序 项目实战(二)board 首页
1.项目结构 2.页面 (1)数据(逻辑) board.js // pages/board/board.js Page({ /** * 页面的初始数据 */ data: { imgWrap: [] } ...
- LInux查看CPU状态
1.htop 2.top 内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SH ...
- 带GPG签名的Git tag
原文地址http://airk000.github.io/git/2013/09/30/git-tag-with-gpg-key Git tag ###Tag用来做什么? Tag即标签,用以给项目仓储 ...