我为我编写的应用程序安装了MSI。安装程序在Windows 7上运行正常。我决定今天在Windows 8上对它进行冒烟测试,它在WMI查询上爆炸了。我的下意识反应是我的WMI查询出了问题,但经过几个小时的挖掘(并发现其他错误)后,我开始认为存在与我的代码无关的系统性问题。
我发现的具体情况是:
我做了什么:
我是否错过了Windows 8的一些技巧?
(代码是C#,.NET 4.0)
答案 0 :(得分:1)
Windows 8与Windows 7 / Vista的不同之处在于它如何处理UAC被关闭。在7 / Vista中,程序被赋予高完整性级别,而在8个程序中被赋予中等完整性级别。
答案 1 :(得分:0)
你真的没有给我太多的工作,所以我会做出很多假设,并根据我在Windows 8上看到的其他安装程序的失败而走出困境。
确保您在Windows 8上拥有与Windows 7相同的.NET版本。进入并安装.NET 3.5 / 4.0以及4.5。
我见过几个安装程序(一个TFS Power Tools),它们使用InstallUtil编写托管代码自定义操作,绑定到一个版本的框架,并在只有.NET 4.5时抛出错误。
对此的修复当然是使用Wix / DTF自定义操作,并使用CustomAction.Config指定支持的运行时并允许旧版激活策略。