| 状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出“错误 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);//读取安装包的配置文件 就可以了。   |