安装程序工具 (Installutil.exe)

安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源。此工具与 System.Configuration.Install 命名空间中的类一起工作。
安转的位置和路径在:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 
卸载的位置和路径在:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe
 
安装程序工具 (Installutil.exe) 安装方法和参数:
安装程序工具 (Installutil.exe) 安装方法和参数:
installutil [/uninstall][option [...]]assemblyname ][option [...]]assemblyname
/h[elp]
显示该工具的命令语法和选项。
/help assemblypath
显示指定程序集中的个别安装程序所识别的任何附加选项。
/?
显示该工具的命令语法和选项。
/? assemblypath
显示指定程序集中的个别安装程序所识别的任何附加选项。
/LogFile=[filename]
指定在其中记录安装进度的日志文件的名称。默认文件名是 assemblyname.InstallLog。
/AssemblyName assemblyName
[,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
如果在安装过程中的任何时候出现异常,则将调用堆栈打印到日志。

備註

可以在同一個命令行上指定多個程序集。出現在程序集名稱前面的任何選項應用於該程序集的安裝。為某個程序集指定的選項應用於後面的任何程序集,除非該選項與新程序集名稱一起指定。

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 來部署用 C++ 的托管擴展創建的 Windows 服務。Installutil.exe 無法識別由 C++ 編譯器產生的嵌入的本機代碼。如果試圖使用 Installutil.exe 來部署托管擴展 Windows 服務,則會引發異常(如 BadImageFormatException)。要處理這種情況,請將服務代碼移動到 C++ 的托管擴展模塊。然後,用 C# 或 Visual Basic 來編寫安裝程序對象。

示例

下列命令顯示命令語法和選項的說明。

installutil

下面的命令執行 myAssembly.exe 程序集中的安裝程序組件。

installutil myAssembly.exe

下面的命令執行 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.
posted on 2010-12-01 14:33  飞翔-方向 积累 沉淀  阅读(24142)  评论(0编辑  收藏  举报