新聞中心
安裝程序工具使您得以通過在執(zhí)行指定程序集中的安裝程序組件來安裝和卸載服務(wù)器資源。此工具與 System.Configuration.Install 命名空間中的類一起工作
installutil [/uninstall][option [...]]assemblyname ] [option [...]]assemblyname
參數(shù)
參數(shù) | 說明 |
---|---|
assemblyname | 在其中執(zhí)行安裝程序組件的程序集的名稱。 |
選項(xiàng) | 說明 |
---|---|
/h[elp] | 顯示該工具的命令語法和選項(xiàng)。 |
/helpassemblypath | 顯示指定程序集中的個(gè)別安裝程序所識(shí)別的任何附加選項(xiàng)。 |
/? | 顯示該工具的命令語法和選項(xiàng)。 |
/?assemblypath | 顯示指定程序集中的個(gè)別安裝程序所識(shí)別的任何附加選項(xiàng)。 |
/LogFile=[filename] | 指定在其中記錄安裝進(jìn)度的日志文件的名稱。默認(rèn)文件名是assemblyname.InstallLog。 |
/AssemblyNameassemblyName [,Version=major.minor.build.revision] [,Culture=locale] [,PublicKeyToken=publicKeyToken]] | 指定程序集的名稱。必須使用程序集的版本、區(qū)域性和公鑰標(biāo)記完全限定程序集名稱。完全限定名必須用引號(hào)括起。 例如,“myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0”是完全限定的程序集名稱。 |
/LogToConsole={true|false} | 如果為true,則將輸出顯示到控制臺(tái)。如果為false(默認(rèn)值),則取消將輸出顯示到控制臺(tái)。 |
/ShowCallStack | 如果在安裝過程中的任何時(shí)候出現(xiàn)異常,則將調(diào)用堆棧打印到日志。 |
/u[ninstall] | 卸載程序集。與其他選項(xiàng)不同,/u應(yīng)用于所有程序集,不論該選項(xiàng)出現(xiàn)在命令行的什么位置。 |
備注
從 .NET Framework 2.0 版開始,32 位版本的公共語言運(yùn)行庫(kù) (CLR) 仍然僅隨 32 位版本的安裝程序工具一起提供,但 64 位版本的 CLR 同時(shí)隨 32 位和 64 位版本的安全程序工具一起提供。當(dāng)使用 64 位 CLR 時(shí),使用 32 位安裝程序工具可安裝 32 位程序集,使用 64 位安裝程序工具可安裝 64 位和 Microsoft 中間語言程序集。在其他情況下,這兩種版本的安裝程序工具的行為相同。
Microsoft .NET Framework 應(yīng)用程序由傳統(tǒng)的程序文件和關(guān)聯(lián)資源組成,如必須在部署應(yīng)用程序時(shí)創(chuàng)建的消息隊(duì)列、事件日志和性能計(jì)數(shù)器。安裝應(yīng)用程序時(shí)可以使用程序集的安裝程序組件創(chuàng) 建這些資源,而在卸載應(yīng)用程序時(shí)可以使用這些組件刪除這些資源。Installutil.exe 檢測(cè)并執(zhí)行這些安裝程序組件。
可以在同一個(gè)命令行上指定多個(gè)程序集。出現(xiàn)在程序集名稱前面的任何選項(xiàng)應(yīng)用于該程序集的安裝。為某個(gè)程序集指定的選項(xiàng)應(yīng)用于后面的任何程序集,除非該選項(xiàng)與新程序集名稱一起指定。
如果對(duì)某個(gè)程序集運(yùn)行 Installutil.exe 但不指定任何選項(xiàng),則 Installutil.exe 將下面三個(gè)文件放到該程序集的目錄中:
InstallUtil.InstallLog
包含安裝進(jìn)度的常規(guī)說明。
assemblyname.InstallLog
包含安裝過程的提交階段特定的信息。有關(guān)提交階段的更多信息,請(qǐng)參見 Installer.Commit 方法。
assemblyname.InstallState
包含用于卸載該程序集的數(shù)據(jù)。
Installutil.exe 使用反射檢查指定的程序集并查找將 RunInstallerAttribute 設(shè)置為true的所有 Installer 類型。然后此工具在Installer類型的每個(gè)實(shí)例上執(zhí)行 Install 方法或 Uninstall 方法。Installutil.exe 以事務(wù)性方式執(zhí)行安裝;如果有一個(gè)程序集未能安裝,則 Installutil.exe 回滾其他所有程序集的安裝。卸載不是事務(wù)性的。
Installutil.exe 無法安裝或卸載延遲簽名的程序集,但可以安裝或卸載具有強(qiáng)名稱的程序集。
注 意,不能使用 Installutil.exe 部署用 C++ 創(chuàng)建的 Windows 服務(wù)。Installutil.exe 無法識(shí)別由 C++ 編譯器產(chǎn)生的嵌入的本機(jī)代碼。如果試圖使用 Installutil.exe 部署 C++ Windows 服務(wù),則會(huì)引發(fā)異常(如BadImageFormatException)。若要處理這種情況,請(qǐng)將服務(wù)代碼移動(dòng)到 C++ 模塊。然后,用 C# 或 Visual Basic 來編寫安裝程序?qū)ο蟆?/p>
示例
下列命令顯示命令語法和選項(xiàng)的說明。
installutil
下面的命令執(zhí)行myAssembly.exe程序集中的安裝程序組件。
installutil myAssembly.exe
下面的命令使用 /AssemblyName 開關(guān)和完全限定名執(zhí)行程序集中的安裝程序組件。
installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0"
下面的命令執(zhí)行myAssembly.exe程序集中的卸載程序組件。
installutil /u myAssembly.exe
下面的命令執(zhí)行myAssembly.exe程序集中的安裝程序并指定將進(jìn)度信息寫入myLog.InstallLog中。
installutil /LogFile=myLog.InstallLog myAssembly.exe
下面的命令將myAssembly.exe的安裝進(jìn)度寫入myLog.InstallLog中,并將myTestAssembly.exe的進(jìn)度寫入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
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
分享文章:.net安裝程序工具(Installutil.exe)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.ef60e0e.cn/article/csddie.html