您好,登錄后才能下訂單哦!
安裝程序工具使您得以通過在執行指定程序集中的安裝程序組件來安裝和卸載服務器資源。此工具與 System.Configuration.Install 命名空間中的類一起工作
installutil [/uninstall][option [...]]assemblyname ] [option [...]]assemblyname
參數
參數 | 說明 |
---|---|
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 | 如果在安裝過程中的任何時候出現異常,則將調用堆棧打印到日志。 |
/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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。