溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.net 安裝程序工具 (Installutil.exe)

發(fā)布時間:2020-06-29 18:21:26 來源:網(wǎng)絡 閱讀:431 作者:13713878410 欄目:編程語言

安裝程序工具使您得以通過在執(zhí)行指定程序集中的安裝程序組件來安裝和卸載服務器資源。此工具與 System.Configuration.Install 命名空間中的類一起工作

installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname
  • 參數(shù)


參數(shù)說明

assemblyname

在其中執(zhí)行安裝程序組件的程序集的名稱。

選項說明

/h[elp]

顯示該工具的命令語法和選項。

/help assemblypath

顯示指定程序集中的個別安裝程序所識別的任何附加選項。

/?

顯示該工具的命令語法和選項。

/? assemblypath

顯示指定程序集中的個別安裝程序所識別的任何附加選項。

/LogFile=[filename]

指定在其中記錄安裝進度的日志文件的名稱。默認文件名是 assemblyname.InstallLog。

/AssemblyName assemblyName

[,Version=major.minor.build.revision]

[,Culture=locale]

[,PublicKeyToken=publicKeyToken]]

指定程序集的名稱。必須使用程序集的版本、區(qū)域性和公鑰標記完全限定程序集名稱。完全限定名必須用引號括起。

例如,“myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0”是完全限定的程序集名稱。

/LogToConsole={true|false}

如果為 true,則將輸出顯示到控制臺。如果為 false(默認值),則取消將輸出顯示到控制臺。

/ShowCallStack

如果在安裝過程中的任何時候出現(xiàn)異常,則將調用堆棧打印到日志。

/u[ninstall]

卸載程序集。與其他選項不同,/u 應用于所有程序集,不論該選項出現(xiàn)在命令行的什么位置。


  • 備注


從 .NET Framework 2.0 版開始,32 位版本的公共語言運行庫 (CLR) 仍然僅隨 32 位版本的安裝程序工具一起提供,但 64 位版本的 CLR 同時隨 32 位和 64 位版本的安全程序工具一起提供。當使用 64 位 CLR 時,使用 32 位安裝程序工具可安裝 32 位程序集,使用 64 位安裝程序工具可安裝 64 位和 Microsoft 中間語言程序集。在其他情況下,這兩種版本的安裝程序工具的行為相同。

Microsoft .NET Framework 應用程序由傳統(tǒng)的程序文件和關聯(lián)資源組成,如必須在部署應用程序時創(chuàng)建的消息隊列、事件日志和性能計數(shù)器。安裝應用程序時可以使用程序集的安裝程序組件創(chuàng) 建這些資源,而在卸載應用程序時可以使用這些組件刪除這些資源。Installutil.exe 檢測并執(zhí)行這些安裝程序組件。

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

如果對某個程序集運行 Installutil.exe 但不指定任何選項,則 Installutil.exe 將下面三個文件放到該程序集的目錄中:

  • InstallUtil.InstallLog

    包含安裝進度的常規(guī)說明。

  • assemblyname.InstallLog

    包含安裝過程的提交階段特定的信息。有關提交階段的更多信息,請參見 Installer.Commit 方法。

  • assemblyname.InstallState

    包含用于卸載該程序集的數(shù)據(jù)。

Installutil.exe 使用反射檢查指定的程序集并查找將 RunInstallerAttribute 設置為 true 的所有 Installer 類型。然后此工具在 Installer 類型的每個實例上執(zhí)行 Install 方法或 Uninstall 方法。Installutil.exe 以事務性方式執(zhí)行安裝;如果有一個程序集未能安裝,則 Installutil.exe 回滾其他所有程序集的安裝。卸載不是事務性的。

Installutil.exe 無法安裝或卸載延遲簽名的程序集,但可以安裝或卸載具有強名稱的程序集。

注 意,不能使用 Installutil.exe 部署用 C++ 創(chuàng)建的 Windows 服務。Installutil.exe 無法識別由 C++ 編譯器產(chǎn)生的嵌入的本機代碼。如果試圖使用 Installutil.exe 部署 C++ Windows 服務,則會引發(fā)異常(如 BadImageFormatException)。若要處理這種情況,請將服務代碼移動到 C++ 模塊。然后,用 C# 或 Visual Basic 來編寫安裝程序對象。


  • 示例


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

installutil

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

installutil myAssembly.exe

下面的命令使用 /AssemblyName 開關和完全限定名執(zhí)行程序集中的安裝程序組件。

installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0"

下面的命令執(zhí)行 myAssembly.exe 程序集中的卸載程序組件。

installutil /u myAssembly.exe

下面的命令執(zhí)行 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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI