> 1.  When you launch a minor update with the msiexec options to enable the
> update, this would typically be done by the setup.exe wrapper.  Now, I
> believe I read somewhere that you shouldn't use those options for the first
> install.  Is this correct?

I've been using the Platform SDK setup.exe and msistuff.exe with good
results. The sources for setup.exe are located here:

C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\SysMgmt\MSI\setup.exe

I have the following nant task to build an MSI with WiX and configure
setup.exe depending on if I'm building an installer for a minor vs.
major upgrade (which is set manually by a developer depending on
component changes in the product):

<target name="build.install" depends="set.vSvn, set.client.variables,
deploy" description="builds an installer with WiX">

  <loadtasks 
assembly="${wix.dir}/Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll"
/>

  <mkdir dir="${wix.work.dir}" verbose="${verbose}"/>

  <delete file="${wix.work.dir}/DR.${client}.wixobj" />
  <delete file="${build.dir.client}/${DR.msi}" />

  <candle out="${wix.work.dir}/DR.${client}.wixobj"
          
extensions="WixIISExtension;WixNetFxExtension;WixUIExtension;WixUtilExtension"
exedir="${wix.dir}">

    <defines>
      <define name="DR.CLIENT" value="${client}" />
      <define name="DR.CLIENT.LONG" value="${client.long}" />
      <define name="DR.CLIENT.PRODUCTCODE" value="${client.productcode}" />
      <define name="DR.VERSION" value="${vMajor}.${vMinor}.${vPatch}.${vSvn}" />
    </defines>

    <sources basedir="${install.dir}">
      <include name="DR.wxs" />
    </sources>

  </candle>

  <!-- locfile="${wix.dir}/WixUI_en-us.wxl"> -->
  <light out="${build.dir.client}/${DR.msi}" cultures="en-us"
          
extensions="WixIISExtension;WixNetFxExtension;WixUIExtension;WixUtilExtension"
exedir="${wix.dir}">

    <sources>
      <include name="${wix.work.dir}/DR.${client}.wixobj" />
    </sources>

  </light>

  <delete file="${build.dir.client}/DR.${client}.wixpdb" />

  <property name="_setup.operation" value="INSTALLUPD"/>
  <if test="${bool::parse(major.upgrade) == true}">
    <property name="_setup.operation" value="INSTALL"/>
  </if>
  <exec program="${msistuff.exe}" basedir="${msi.tools.dir}"
workingdir="${build.dir.client}" verbose="${verbose}">
    <arg value="setup.exe"/>
    <arg value="/d"/>
    <arg value="${DR.msi}"/>
    <arg value="/n"/>
    <arg value="DR ${vMajor}.${vMinor}.${vPatch}.${vSvn} ${client}"/>
    <arg value="/o"/>
    <arg value="${_setup.operation}"/> <!-- INSTALL or INSTALLUPD -->
    <arg value="/v"/>
    <arg value="200"/>
    <arg value="/w"/>
    <arg value="InstMsiW.exe"/>
  </exec>

</target>

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to