使用 WIX 安装 Microsoft KB951608
在我们的服务器(win 2008 r2)上,我们启用了“强制网络身份验证”设置,以强制客户端必须支持 NLA,因为端口 3389 可以从 Internet 直接访问。但在 Windows XP SP3 上,NLA 似乎默认被禁用。当我使用 WIX 编写一个安装程序来分发 rdp 文件时,我还想安装这两个注册表项(一个是 REG_SZ 类型的逗号分隔列表,一个是 REG_MULTI_SZ 类型的列表),如 http://support.microsoft.com/kb/951608。
我已经尝试过使用RegistrySearch和RegistryValue,但还没有成功。主要困难是我应该如何处理这些 REG_SZ 类型的逗号分隔列表。
谁能给我提示吗?提前致谢。
On our server (win 2008 r2) we enabled the setting "force network authentication" to enforce that the client must support the NLA, because the port 3389 is directly reachable from the internet. But on Windows XP SP3 the NLA seems to be disabled per default. As I wrote an installer with WIX to distribute the rdp files, I'd also like to install these two registry-entries (one is a comma separated list of type REG_SZ and one is a list of type REG_MULTI_SZ) as descriped in http://support.microsoft.com/kb/951608.
I've already tried it with RegistrySearch and RegistryValue, but I haven't succeded. The main difficulty is how I should handle these comma separated list of type REG_SZ.
Can anyone give me a hint? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决此问题的标准方法是使用引导程序机制安装修补程序,即使用单独的“setup.exe”文件,首先安装修补程序,然后启动 WiX/MSI 安装程序。
Visual Studio 引导程序提供了这样的机制。此引导程序可以安装的包需要由名为 package.xml 的 XML 清单进行描述。此文件需要位于 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages (Visual Studio 2008) 的子文件夹中。
以下两页介绍了如何为 KB951608 编写/创建您自己的程序包清单:
用于创建清单的生成器可以从 MSDN 下载:
您可以使用此工具创建一个简单的清单,如下所示:
使用引导程序是不幸的是 WiX 不直接支持,但您可以使用一个简单的 MSBuild 脚本来生成一个(但这需要安装 Visual Studio):
该脚本可以作为构建后步骤调用:
The standard way to solve this is by installing the hotfix using a bootstrapper mechanism, i.e. a separate "setup.exe" file that first installs the hotfix and then launches your WiX/MSI installer.
The Visual Studio bootstrapper provides such a mechanism. The packages that can be installed by this bootstrapper need to be described by an XML manifest called package.xml. This file needs to be located in a subfolder of C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages (Visual Studio 2008).
The following two pages describe how to author/create your own package manifest for KB951608:
A generator for creating the manifest can be downloaded from MSDN:
You can use this tool to create a simple manifest like this:
Using a bootstrapper is unfortunately not directly supported by WiX, but you can use a simple MSBuild script to generate one (this requires Visual Studio to be installed though):
This script can be called as a post-build step: