[WiX-users] General Information Question about New Releases and GUIDs...

2010-10-29 Thread John D. Marinuzzi
Hello All,

 

Our company puts out a release of our software once a year.  By default, it
gets installed in a directory that is unique every year. I just started
using WIX last release and we have a new one coming up.  Our customers will
often keep the old version during a transition.  My question is I always
update the product Id and UpgradeCode GUIDs and the install directories
Guid, but I assume I should be upgrading every Component GUID (DirectoryRef)
also, correct?  If I kept the GUIDs for the Components the same and they
uninstalled last year's version, what would be the effects? Would those
directories stay if I uninstalled the new version?  There are a lot of
DirectoryRefs and putting new GUIDs on them is time consuming.

 

I realize I could just test this and find out, but I figured I would inquire
first before doing any registry damage.

 

Thanks,

 

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


Re: [WiX-users] General Information Question about New Releases and GUIDs...

2010-10-29 Thread Nick Ramirez

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. 

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-Introduction
http://robmensching.com/blog/posts/2003/10/4/Windows-Installer-Components-Introduction
 

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?



-
Learn WiX with the book: 
https://www.packtpub.com/wix-a-developers-guide-to-windows-installer-xml/book
WiX: A Developer's Guide to Windows Installer XML 
-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/General-Information-Question-about-New-Releases-and-GUIDs-tp5686308p5686397.html
Sent from the wix-users mailing list archive at Nabble.com.

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


Re: [WiX-users] General Information Question about New Releases and GUIDs...

2010-10-29 Thread John D. Marinuzzi
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