Visual Studio 2015安装的Visual Studio Installer生成的msi兼容XP系统

安装程序开始画在xp显示:

Visual Studio 2015安装的Visual Studio Installer生成的msi兼容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的替换:

步骤如下:

  1. 关闭 Visual Studio;
  2. 复制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);
  3. 打开打包的项目;
  4. 重新编译生成;

注:同理,在xp中使用高版本的msiexec.exe进行卸载也会存在问题,可用xp中的替代,可保证卸载同时不报错误。

  • 不再进行环境检查
  1. 下载并打开Ocra;
  2. 用Ocra打开msi文件,找到CustomAction表,从表中找到两个Action:DIRCA_CheckFx和VSDCA_VsdLaunchConditions;
  3. 对这两个Action,分别右键删除即可。记得保存!
其实修改完,打开记录追踪安装过程的话,还是存在有Error的问题。不过程序可以成功安装并正常运行。