Visual Studio 2015安装的Visual Studio Installer生成的msi兼容XP系统
安装程序开始画在xp显示:
追踪故障源的方法——命令行安装.msi程序,可以看到log日志。即 msiexec /i a.msi /l*v a.log 将会生成名为“a.log”的日志;
从a.log中可以看出DIRCA_CheckFX应该是问题的源头,CHECKFX 的作用是检查 .NET Framework 版本,在 Setup Project 的Prerequisite和Launch Conditions 两处必须统一。
后来,查询到Visual Studio 2013以上版本生成的 Windows Installer 与 Windows XP 不兼容。
通过网上查找方法,得到两种解决方法:
- 将打包关键文件用Visual Studio 2010的替换:
步骤如下:
- 关闭 Visual Studio;
- 复制C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\Deployment 路径下的dpca.dll粘贴到当前版本的文件夹下(2013的路径是C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\IDE\CommonExtensions\Microsoft\VSI\bin);
- 打开打包的项目;
- 重新编译生成;
注:同理,在xp中使用高版本的msiexec.exe进行卸载也会存在问题,可用xp中的替代,可保证卸载同时不报错误。
- 不再进行环境检查
- 下载并打开Ocra;
- 用Ocra打开msi文件,找到CustomAction表,从表中找到两个Action:DIRCA_CheckFx和VSDCA_VsdLaunchConditions;
- 对这两个Action,分别右键删除即可。记得保存!