为什么一个VS2010的Windows应用程序无法在一台Win7 PC上的WinXP虚拟机(32位和64位)上安装,而不能安装在不同的Win7 PC上?

我正在使用的Windows应用程序是用C#VS2010编写的。 它有几个先决条件设置为“从我的应用程序相同的位置下载”。

我需要validation它安装在32位和64位的WinXP,Win7上,也在Windows 8上。鉴于我没有5个额外的PC方便我安装在虚拟机上。

它安装在Win7,32位和64位。 在WinXP上(两种风格),先决条件都无法安装。 例如,我收到下面的消息,如果我手动安装MSXML 4,它将在.NET3.5上失败,并说发布者无法validation。


示例错误消息

安装程序检测到文件“C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \ MSXML 4 \ msxml4.sp2.winxp.msi”已被更改,因为它是最初发布或可能腐败。

有关更多信息,请参阅位于'C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \ install.log'的安装日志文件。


踢球者是同一个版本安装在我的同事的32位WinXP虚拟机(同一图像的副本)没有问题。

提到的日志文件没有比错误消息更多的信息。 这是最后几行:


日志文件提取

组件“Windows Installer 4.5”的EULA被接受。 组件“.NET Framework 3.5 SP1”的EULA被接受。 组件“SQL Server 2008 R2 Express”的EULA被接受。 安装组件“MSXML 4,Adobe Flash Player 11”被接受。 将文件复制到临时目录“C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \”从“C:\ 1.13.0248 – 发行版 – 仅限英文版\ MSXML 4 \ msxml4.sp2”复制。 winxp.msi'到'C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \ MSXML 4 \ msxml4.sp2.winxp.msi'validationC:\ DOCUME〜1 \ ADMINI的文件完整性〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \ MSXML 4 \ msxml4.sp2.winxp.msivalidation文件散列错误:安装程序检测到文件'C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ VSD2.tmp \ MSXML 4 \ msxml4.sp2.winxp.msi“已被更改,因为它是最初发布或可能已损坏。


提到的文件被更改或损坏不在目的地,当我去看,它确实看起来像一个文件的剧烈变化,但在咨询谷歌我发现,它会自动删除时,所谓的腐败被发现。

我试着用谷歌search错误消息,'VM安装'等的无数组合,但它就像在大海捞针一样。

在稍微相关的post之后,我尝试在PC上的“本地组策略编辑器”中设置一些文件types,然后装载一个新的虚拟机 – 没有任何效果。 在虚拟机本身做策略编辑器的改变似乎毫无意义,因为同样的镜像对于我的同事来说是未经修改的。

我在这里错过了什么? 我很难过 我花了一整天的时间 – 这需要很长的时间来尝试每一个安装。 任何指针将不胜感激。