具有服务器核心功能检查的MSI

时间:2011-05-02 01:39:27

标签: c# windows-installer server-core

我创建了一个MSI包,用于将WCF服务和Web应用程序安装到Windows Server Core 2008 R2 SP1。

安装程序进程需要检查是否在此服务器上安装了运行WCF和Web应用程序所需的功能,并仅在需要时安装它们。

我相信我们需要一个自定义动作来实现这一目标。 请问,有没有人知道如何以编程方式检查和安装功能?

期待收到你们的回复。

非常感谢, 克里斯

2 个答案:

答案 0 :(得分:1)

我找到this来检查服务器核心中已安装的所有功能。

要安装服务器功能,我使用Process类来调用dism命令。

Process.Start("dism.exe", "/online /enable-feature /featurename:IIS-ISAPIFilter");

有了这个,我可以在MSI中创建可以检查和安装服务器功能的自定义操作。

答案 1 :(得分:0)

您可以使用MsiGetFeatureStateMsiSetFeatureState功能。

请注意,这些函数使用MSI句柄,因此您无法使用EXE或安装程序类操作。您可以在此处找到自定义操作教程:http://www.codeproject.com/KB/install/msicustomaction.aspx