C# - 使用wuapi.dll而不将其嵌入到项目中

时间:2015-04-09 07:14:41

标签: c# .net dll wuapi

我正在尝试创建一个程序,允许为Windows重要更新的静默安装。我希望它是一个单独的.exe文件,没有任何额外的文件,库,图标等我正在使用.Net 3.5。我将wuapi.dll包含在我项目的References文件夹中。编译完成后,将wuapi.dll复制到同一个文件夹,其中包含.exe文件(Debug或Release)。

我已经阅读了有关ILMerge用于将.dll文件直接嵌入到.exe文件中的不同文章。这是我的问题 - 所有Windows计算机都在system32或SysWow64文件夹中有wuapi.dll,那么我为什么要将它嵌入到我的项目中呢?有没有办法引用这些库或使用它们的函数而不将它们添加到项目中?

1 个答案:

答案 0 :(得分:1)

在“引用”上,选择wuapi并将属性CopyLocal设置为false。此外,请确保将SpecificVersion设置为false,否则它可能无法与用户计算机上安装的任何版本一起使用。

我认为自XP以来,任何Windows版本都可以找到wuapi。

这仅适用于.Net 4.0,通过设置"嵌入互操作类型"为真。在.Net 3.5上,您不需要部署wuapi.dll本身,但需要部署生成的Interop文件。

有关详情,请查看:http://blogs.clariusconsulting.net/kzu/check-your-embed-interop-types-flag-when-doing-visual-studio-extensibility-work/