如何指定已存在IIS默认网站?不得卸载默认网站。我只想用我的WiX安装程序添加一个新的Web应用程序。
不幸的是我找不到合适的样品。每个人似乎总是安装和卸载整个东西。
修改
<Fragment>
<ComponentGroup Id="IIS">
<Component Id="EEE" Directory="WCFFOLDER">
<iis:WebVirtualDir Id="MyVirtualDir" Alias="MyVirtualDir" Directory="INSTALLDIR" WebSite="DEFAULTWEBSITE">
<iis:WebApplication Id="DeploymentWebAppl" Name="MyName" WebAppPool="MyAppPool" />
</iis:WebVirtualDir>
</Component>
</ComponentGroup>
<iis:WebSite Id="DEFAULTWEBSITE" Description="Default Web Site" Directory="INSTALLDIR">
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
<iis:WebAppPool Id="MyAppPool" Name="MyAppPool"/>
</Fragment>
如何指定还有虚拟目录?如果我将iis:WebApplication元素直接放入Component中,我会收到以下错误:“Component元素包含一个意外的子元素'iis:WebApplication”
INSTALLDIR的价值是多少?我不知道Default Web SIte的目录在哪里(可能是C:\ intpub \ wwwroot)
我想在我的WiX安装程序中执行与以下C#代码相同的操作
using (ServerManager manager = new ServerManager())
{
var site = manager.Sites["Default Web Site"];
var application = site.Applications.CreateElement();
application.Path = "C:\ProgramFiles\.....";
application.EnabledProtocols = "http,net.tcp";
application.ApplicationPoolName = "MyAppPool";
site.Applications.Add(application);
manager.CommitChanges();
}
答案 0 :(得分:3)
请参阅此处的示例代码:Install a New Virtual Directory to Default Web Site with WiX。
改述它:如果您将<iis:WebSite>
元素放在<Component>
元素内,那么该网站由MSI管理并在卸载时删除。如果没有,则网站元素是占位符,卸载不会触及。