我创建了一个 MSI 包来将 WCF 服务和 Web 应用程序安装到 Windows Server Core 2008 R2 SP1。
安装程序进程需要检查运行 WCF 和 Web 应用程序所需的功能是否已安装在此服务器上,并且仅在需要时安装它们。
我相信我们需要一个自定义操作来实现这一点。请问,有人知道如何以编程方式检查和安装功能吗?
期待听到你们的消息。
非常感谢,克里斯
我创建了一个 MSI 包来将 WCF 服务和 Web 应用程序安装到 Windows Server Core 2008 R2 SP1。
安装程序进程需要检查运行 WCF 和 Web 应用程序所需的功能是否已安装在此服务器上,并且仅在需要时安装它们。
我相信我们需要一个自定义操作来实现这一点。请问,有人知道如何以编程方式检查和安装功能吗?
期待听到你们的消息。
非常感谢,克里斯
我发现这是为了检查服务器核心中已经安装的所有功能。
为了安装服务器功能,我使用 Process 类来调用 dism 命令。
Process.Start("dism.exe", "/online /enable-feature /featurename:IIS-ISAPIFilter");
有了这个,我可以在 MSI 中创建可以检查和安装服务器功能的自定义操作。
您可以使用MsiGetFeatureState和MsiSetFeatureState函数。
请注意,这些函数使用 MSI 句柄,因此您不能使用 EXE 或安装程序类操作。您可以在此处找到自定义操作教程:http: //www.codeproject.com/KB/install/msicustomaction.aspx