.net安裝部署「Error 1001 在初始化安裝時發生異常」 的解決方法

情況描述:
打包安裝後,若是刪除安裝目錄中的某個文件,這時從桌面快捷方式啓動軟件系統會自動運行修復程序,此時由於路徑問題會報出「錯誤 1001 在初始化安裝時發生異常xxx」的異常。(前提是你的安裝部署中加入了「自定義操做」,併爲其傳值)。spa

 

查找緣由原來是「自定義操做」中CustomActionData值有誤形成。未出錯前的CustomActionData。 部署

/DbName=[DBNAME] /ServerName=[SERVERNAME] /User=[USER] /Password=[PASSWORD] /SetupType=[SETUPTYPE] get

解決方法:string

分別在兩個雙引號旁邊增長單引號。
須要修改 CUStomActionData 的傳值方式,由之前的 /key="[value]\" 改成  /key=「'[value]\'"。
例如: /sourceDir="'[SourceDir]\'" /InstallDir="'[TARGETDIR]\'" /InstallName="Monitor"

這樣在安裝類中獲得的參數會多出倆個'',例如 ‘c:\a\b’,這時須要手工處理一下。這樣問題解決了。
it

 

若是卸載安裝包報錯:「初始化安裝時發生異常,找不到**文件」,有多是安裝程序代碼位置錯誤。io

如:打包

string settxtPath = setupSourcePath + "set.txt";軟件

dataList = getSetConfig(settxtPath);//讀取安裝包的配置文件配置

base.Install(stateSaver);List

由於在安裝和卸載時,會自動運行修復程序,因此在base.Install(stateSaver)前的代碼都要執行,因此卸載致使報錯:「找不到set.txt」。

修改成:

string settxtPath = setupSourcePath + "set.txt";
base.Install(stateSaver);

dataList = getSetConfig(settxtPath);//讀取安裝包的配置文件

就能夠了。

相關文章
相關標籤/搜索