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


狀況描述:
打包安裝后,如果刪除安裝目錄中的某個文件,這時從桌面快捷方式啟動軟件系統會自動運行修復程序,此時因為路徑問題會報出“錯誤 1001 在初始化安裝時發生異常xxx”的異常。(前提是你的安裝部署中加入了“自定義操作”,並為其傳值)。

 

查找原因原來是“自定義操作”中CustomActionData值有誤造成。未出錯前的CustomActionData。 

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

解決方法:

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

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

 

如果卸載安裝包報錯:“初始化安裝時發生異常,找不到**文件”,有可能是安裝程序代碼位置錯誤。

如:

string settxtPath = setupSourcePath + "set.txt";

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

base.Install(stateSaver);

因為在安裝和卸載時,會自動運行修復程序,所以在base.Install(stateSaver)前的代碼都要執行,所以卸載導致報錯:“找不到set.txt”。

修改為:

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

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

就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM