列出inno设置中的所有应用程序池

时间:2014-05-19 08:55:44

标签: asp.net inno-setup

我正在使用Inno Setup为ASP.net应用程序创建安装程序。我想有一个ComboBox与系统中的所有应用程序池。我找到了以下部分代码来获取所有应用程序池:

IIS := CreateOleObject('IISNamespace');
appPools := IIS.GetObject('IIsApplicationPools', 'localhost/W3SVC/AppPools');

我也找到了如何获得单个特定应用程序池,但我无法弄清楚如何遍历这个appPools。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。它需要使用名为WMI的外部包。它可以从http://www.vincenzo.net/isxkb/index.php?title=WMI下载。 Heere是一个完整的代码:

appPools := IIS.GetObject('IIsApplicationPools', 'localhost/W3SVC/AppPools');

IISPoolIndex := 1;

WebSite := IIS.GetObject('IIsWebService', 'localhost' + '/w3svc');
// GetObject structure: Schema, NextName of data
tVariants := ComEnumerate(WebSite.GetObject('IIsApplicationPools', 'AppPools'));
 For i := 0 to GetArrayLength (tVariants) - 1 do
 begin
 // ComboBox with Application Pool Names
 AppPoolsComboBox.Items.Add(tVariants[i].Name);
end;