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 ATT 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