Hello Nick, 

Replies below...

> You shouldn't ever need to change the UpgradeCode as long as it's all the
same product. Windows Installer needs the UpgradeCode to stay the same so
that it can detect older versions of itself during an upgrade, 
> should you ever set it up to do one. For example, the Upgrade element
needs that same code in its Id attribute. 

So, if I have an older version of our software installed in a directory
called xxx2010 and the newer version installed in xxx2011 and I put out an
upgrade, will it know to upgrade the newer version?

> You are correct to change the ProductCode (and version) for each major
update. You should not change all of your component Ids for each update. See
Rob Mensching's blog for info about components:

>
http://robmensching.com/blog/posts/2003/10/4/Windows-Installer-Components-In
troduction
>
http://robmensching.com/blog/posts/2003/10/4/Windows-Installer-Components-In
troduction 

Thanks, I will read these.

> Anyway, the component GUID identifies that component. Changing it would
mean that you're referring to a different component. So, if the file is the
same, or even if it's just a newer version of itself that would be 
> backward compatible with other parts of the system, you shouldn't change
it. 

> More info:  http://msdn.microsoft.com/en-us/library/aa367849
> http://msdn.microsoft.com/en-us/library/aa367849 

> I'm not sure what you mean when you refer to DirectoryRefs and GUIDs. Are
you putting one file per component? Or more than one per component? How have
you got your directories being installed? Which
> version of WiX are you using?

I am using 3.6 in a Visual Studio 2010 project, but the original script was
written in a text editor a couple of years ago.

The way the project is set up is we have a few Features, but the main
Feature has a lot of ComponentRefs.  I create a Component for each Directory
within the installation and it can contain from 0 to X files.  So, it
something like:

<Fragment id="">
  <Feature Id="f_Main" Title="xx" Description="xx" Level="1"
ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no"
InstallDefault="local">
      <ComponentRef Id="InstallDir_Key" />
      <ComponentRef Id="root_executables" />
      <ComponentRef Id="sub_1" />
    </Feature>

    <DirectoryRef Id="INSTALLDIR">
      <Component Id="root_executables"
Guid="6F334E6D-DCB7-11DC-AAEA-00059A3C7800">
        <CreateFolder>
          <Permission WriteExtendedAttributes="yes" GenericAll="yes"
User="Everyone" />
        </CreateFolder>
        <File Id="xx_exe" Name="xx.exe" Source="..\root\xx.exe" DiskId="1"
Vital="yes">
          <Shortcut Id="xx" Directory="ProgramMenuDir" Name="xx"
WorkingDirectory="INSTALLDIR" Icon="xx" IconIndex="0" />
          <Shortcut Id="xx" Directory="DesktopFolder" Name="xx"
WorkingDirectory="INSTALLDIR" Icon="xx" IconIndex="0" />
        </File>
        <File Id="xx1_exe " Name="xx1.exe" Source="..\root\xx1.exe"
DiskId="1" Vital="yes" />
        <File Id="xx2_exe " Name="xx2.exe" Source="..\root\xx2.exe"
DiskId="1" Vital="yes" />
        <File Id="xx3_exe" Name="xx3.exe" Source="..\root\xx3.exe"
DiskId="1" Vital="yes" />
        <File Id="xx4_exe" Name="xx4.exe" Source="..\root\xx4.exe"
DiskId="1" Vital="yes" />
      </Component>
    </DirectoryRef>
  </Fragment>

And then all the Components for the subdirectories, etc. (in separate source
files)

  <Fragment Id="frag_root_subdirectories">
    <DirectoryRef Id="INSTALLDIR">
      <Directory Id="sub1" Name="sub1">
    </DirectoryRef>

      <DirectoryRef Id="sub1">
      <Component Id="sub_1" Guid="6F334E70-DCB7-11DC-AAEA-00059A3C7800">
        <File Id="xx_3da" Name="xx.3da" Source="..\root\ sub1 \xx.3da"
DiskId="1" Vital="yes" />
        <File Id="xx2_3da" Name="xx2.3da" Source="..\root\ sub1\xx2.3da"
DiskId="1" Vital="yes" />
        <File Id="xx3_3da" Name="xx3.3da" Source="..\root\ sub1\xx3.3da"
DiskId="1" Vital="yes" />
      </Component>
    </DirectoryRef>
  </Fragment>

Thanks for your help,

John





------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to