在WIX中创建一个简单的网站MSI安装程序

时间:2012-11-15 12:57:22

标签: .net wix windows-installer wix3.5

我一直在尝试调整以下WIX XML来创建MSI来安装网站。

我对此很新,但是WIX有很长的学习曲线,所以我已经知道下面的代码片段了。

我收到此错误时,目前无法编译:

“产品:*”

部分中对符号'WixComponentGroup:C_WebAppContent'的未解析引用

我想做的就是以下几点。

将网站安装到D:\ websites \ website 设置虚拟目录 设置应用程序池

就是这样......我在下面哪里出错?

Product.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
     xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
     xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">

  <!--NEVER EVER EVER EVER CHANGE THE UPGRADE CODE!!!!!!!!!!!!!!! -->
  <?define UpgradeCode="176df50b-d3aa-4f25-ae7b-2098a6b881b2" ?>

  <Product Id="*" 
           Name="MdxWebsite" 
           Language="1033" Version="1.0.0.0" 
           Manufacturer="RBS" 
           UpgradeCode="$(var.UpgradeCode)">
    <Package InstallerVersion="200" Compressed="yes" />

    <!-- This includes our properties that implement the "Remember Property" pattern -->
    <?include Configuration.wxi ?>

    <Media Id="1" Cabinet="media.cab" EmbedCab="yes" />

    <MajorUpgrade AllowDowngrades="no" 
                  AllowSameVersionUpgrades="yes" 
                  Schedule="afterInstallInitialize"
                  DowngradeErrorMessage="A later version of this product is already installed. Setup will now exit."/>

    <!-- Creating default directory structure (INSTALLLOCATION be override by user, but it starts in Program Files) -->
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id="INSTALLLOCATION" Name="TheDefaultInstallFolderName">
        </Directory>
      </Directory>
    </Directory>

    <Feature Id="F_Content" 
             Title="Content" 
             Level="1" 
             Description="The website content" 
             ConfigurableDirectory="INSTALLLOCATION">
      <ComponentRef Id="C_RegistryEntries"/>
      <!-- The C_WebAppContent can either be generated by the WiX tool "heat", or a hand-crafted set of content, this component is not included in this example -->
      <ComponentGroupRef Id="C_WebAppContent" />
    </Feature>

    <Feature Id="F_IISWebsite" Title="IIS Website" Description="The IIS website and application pool" Level="1">
      <ComponentRef Id="C_IISWebsite" />
    </Feature>

    <InstallExecuteSequence>
    </InstallExecuteSequence>

    <!-- Specify UI -->
    <UIRef Id="UIFlow" />
  </Product>
</Wix>

1 个答案:

答案 0 :(得分:0)

所以我能够通过使用HEAT为in .. \ obj \ Debug文件夹中的Visual Studio帮助输出创建的ID来解决这个问题