我正在尝试创建一个程序,允许为Windows重要更新的静默安装。我希望它是一个单独的.exe文件,没有任何额外的文件,库,图标等我正在使用.Net 3.5。我将wuapi.dll包含在我项目的References文件夹中。编译完成后,将wuapi.dll复制到同一个文件夹,其中包含.exe文件(Debug或Release)。
我已经阅读了有关ILMerge用于将.dll文件直接嵌入到.exe文件中的不同文章。这是我的问题 - 所有Windows计算机都在system32或SysWow64文件夹中有wuapi.dll,那么我为什么要将它嵌入到我的项目中呢?有没有办法引用这些库或使用它们的函数而不将它们添加到项目中?
答案 0 :(得分:1)
在“引用”上,选择wuapi并将属性CopyLocal设置为false。此外,请确保将SpecificVersion设置为false,否则它可能无法与用户计算机上安装的任何版本一起使用。
我认为自XP以来,任何Windows版本都可以找到wuapi。
这仅适用于.Net 4.0,通过设置"嵌入互操作类型"为真。在.Net 3.5上,您不需要部署wuapi.dll本身,但需要部署生成的Interop文件。