.net安装程序工具(Installutil.exe)-创新互联

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

目前创新互联已为成百上千的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、高坪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname
  • 参数

参数说明

assemblyname

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

选项说明

/h[elp]

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

/helpassemblypath

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

/?

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

/?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

引用自http://msdn.microsoft.com/zh-cn/library/50614e95%28VS.80%29.aspx

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


当前文章:.net安装程序工具(Installutil.exe)-创新互联
浏览路径:http://scyanting.com/article/csddie.html