【发布时间】:2013-02-14 13:52:56
【问题描述】:
我有一个我们开发的产品,我们只是在 Windows 8 和 Server 2012 上进行测试。问题是,在 Win 8 / 2012 上安装完成后,兼容性垫片(据我了解far) 弹出一个对话框,说应用程序需要 .Net 3.5 才能正常运行。请看下面的截图:
由于我们的产品是本机打印机驱动程序,我认为这不太可能! Win 8 / 2012 的唯一先决条件是 Visual c++ 可再发行版本。
如果有帮助,我还使用 install shield 2010 创建安装程序。
有没有其他人看到 Win 8 错误地提示应用程序需要 .net 3.5?有谁知道定义兼容性垫片如何确定应用程序是否需要 .net 3.5 的任何可靠来源?
谢谢!
安迪
** 更新**
找到这篇 msdn 博客文章:http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx。简而言之,对话可以通过以下方式触发:
- 您尝试使用可从 Microsoft 下载的可再发行包安装 .Net 2.0、3.0 或 3.5。
- 应用程序在其自己的安装过程中尝试安装所需版本的可再分发包之一。
- 需要旧版本的应用程序无需预安装所需版本即可执行。
不幸的是,这些似乎都无法解释我为什么会看到它!
** 更新**
明确地说,我没有托管库或 exe,只有纯原生 c 和 c++,一些使用 Visual Studio 编译器(没有 clr 标志)构建,一些使用 DDK。p>
...好尴尬!...
【问题讨论】:
-
嗯,很奇怪。使用像 Orca 这样的 MSI 检查工具来确保不是 InstallShield 触发了这个。 msdn.microsoft.com/en-us/library/windows/desktop/…
-
如果您执行“跳过安装”,会出现什么问题? :)
-
没什么! :) 我们不需要为我们的驱动程序安装.net!大声笑
-
@HansPassant 刚刚尝试使用 Windows 8 SDK 中的 Orca,它并没有抛出任何明显相关的东西!不过值得一试,谢谢!
标签: .net windows-8 driver installshield installshield-2010