Iis 7 WIX 3.6 IIS 7安装程序导致';站点1未定义根应用程序,因此将忽略该站点;卸载时出错
我正在使用Wix 3.6将Web应用程序安装到IIS 7,安装工作正常,但使用添加/删除程序或MSIExec卸载应用程序时,我在IIS中遇到以下错误 执行此操作时出错。 细节: 应用程序“/”不存在 系统日志中的错误如下所示 站点1未定义根应用程序,因此将忽略该站点 使用MSIExec和/qb选项时卸载时的日志文件仅显示了这一个错误,并且似乎不会导致IIS中的默认网站目录损坏,但可能会导致此类问题 行动开始7:04:40:ExitDialog。调试:错误2726:未执行操作 已找到:ExitDialog安装程序遇到意外错误 正在安装此软件包。这可能表明此系统存在问题 包裹错误代码是2726。论点是:ExitDialog, 行动结束于7:04:40:ExitDialog。返回值0。行动结束 7:04:40:安装。返回值1 以下是wix文件的相关部分。如果有人有任何想法可以为我指出正确的方向,他们将不胜感激。提前谢谢Iis 7 WIX 3.6 IIS 7安装程序导致';站点1未定义根应用程序,因此将忽略该站点;卸载时出错,iis-7,wix,wix3.6,windows-installer,Iis 7,Wix,Wix3.6,Windows Installer,我正在使用Wix 3.6将Web应用程序安装到IIS 7,安装工作正常,但使用添加/删除程序或MSIExec卸载应用程序时,我在IIS中遇到以下错误 执行此操作时出错。 细节: 应用程序“/”不存在 系统日志中的错误如下所示 站点1未定义根应用程序,因此将忽略该站点 使用MSIExec和/qb选项时卸载时的日志文件仅显示了这一个错误,并且似乎不会导致IIS中的默认网站目录损坏,但可能会导致此类问题 行动开始7:04:40:ExitDialog。调试:错误2726:未执行操作 已找到:ExitDi
<Product
Name="$(var.WebName)"
Id="*"
UpgradeCode="GUID"
Manufacturer="MyCo"
Version="$(var.ProductVersion)"
Language="1033">
<Package Id='*'
InstallScope="perMachine"
Manufacturer="MyCo"
InstallerVersion="200"
Languages="1033"
Compressed="yes"/>
<MajorUpgrade Schedule="afterInstallValidate"
DowngradeErrorMessage='A later version of this application is already installed. Setup will now exit'></MajorUpgrade>
<Media Id="1" Cabinet="MyProduct.cab" EmbedCab="yes" />
<Property Id="IISROOT">
<RegistrySearch Id="WEBROOT" Root="HKLM" Key="Software\Microsoft\InetStp" Name="PathWWWRoot" Type="raw" />
</Property>
<Property Id="WIXUI_INSTALLDIR" Value="FILEINSTALLDIR" Secure="yes" >
<RegistrySearch Id="WIXUI_INSTALLDIR" Type="raw" Root="HKLM" Key="SOFTWARE\MyCo" Name="InstallDir" />
</Property>
<Property Id="WIXUI_VIRTUALDIR" Secure="yes" Value="VIRTUALDIR" >
<RegistrySearch Id="WIXUI_VIRTUALDIR" Type="raw" Root="HKLM" Key="SOFTWARE\MyCo" Name="WixUiVirtualDir" />
</Property>
<Property Id="VIRTUALDIR" Secure="yes" Hidden="no" >
<RegistrySearch Id="VIRTUALDIR" Type="raw" Root="HKLM" Key="SOFTWARE\MyCo" Name="VirtualDir" />
</Property>
<CustomAction Id="FILEINSTALLDIR" Property="FILEINSTALLDIR" Value="[IISROOT]\[VIRTUALDIR]" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="IISROOT" Name=".">
<Directory Id="FILEINSTALLDIR" Name="AppDirectory">
<Component Id="MyCo_AppComponent" Guid="GUID">
<File Source=...
</Component>
</Directory>
</Directory>
</Directory>
<iis:WebSite Id="DefaultWebSite" Description="Default Web Site" SiteId="*">
<iis:WebAddress Id="AllUnassigned" Port="1" />
</iis:WebSite>
<DirectoryRef Id="FILEINSTALLDIR">
<Component Id="MyCoSiteComponent" Guid="GUID" KeyPath="yes">
<iis:WebVirtualDir Id='AppComponentVirtDir' Alias='[VIRTUALDIR]' Directory='FILEINSTALLDIR'
WebSite='DefaultWebSite'>
<iis:WebDirProperties Id="AppComponentVirtDirProperties"
AnonymousAccess="no" BasicAuthentication="no"
WindowsAuthentication="yes" />
<iis:WebApplication Id='MyAppName' Name='[VIRTUALDIR]' Isolation='medium' />
</iis:WebVirtualDir>
</Component>
</DirectoryRef>
我发现我做错了什么,有一个注册表设置在查找中的名称与在删除中的名称不同,因为我没有在原始代码中包含它,我将在下面包含错误代码示例。注意注册表路径不同1)MyCo 2)MyCompany(这是为了演示目的,但你明白我的意思)。这导致默认网站损坏,必须更换。因此,简而言之,请确保您创建的注册表项名称命名正确!:)这是一个痛苦的时刻
其中,我从注册表中设置了值:
<Property Id="WIXUI_VIRTUALDIR" Secure="yes" Value="VIRTUALDIR" >
<RegistrySearch Id="WIXUI_VIRTUALDIR" Type="raw" Root="HKLM" Key="SOFTWARE\MyCo" Name="WixUiVirtualDir" />
</Property>
在此处,我删除注册表设置:
<DirectoryRef Id="FILEINSTALLDIR">
<Component Id="RegistryEntries" Guid="GUID">
<RegistryKey Root="HKLM"
Key="SOFTWARE\MyCompany"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="WixUiVirtualDir" Value="[VIRTUALDIR]" />
</RegistryKey>
</Component>
</DirectoryRef>
我发现我做错了什么,有一个注册表设置在查找中的名称与在删除中的名称不同,因为我没有在原始代码中包含该设置,我将在下面包含错误代码示例。