Q: I'm also curious why you chose to use an Include instead of using a Fragment
with a ComponentGroup in it that is pulled in at link time?
A: Ignorance.
It seems like what you are suggesting is more complicated than my current
solution, but its more likely that I simply don't fully understand what you are
suggesting.
My problem came in automatically generating the list of files. It looked like
Heat would do the job, but when I implemented, I got errors when I tried to
bring that into my install because the Heat generated file included the
DirectoryRef as well. I also liked that using my current implementation, I can
clearly identify the entire directory structure, component GUID, and if
necessary, registry entries associated with a given component, the only thing
in my include file is the list of files to be included in that component...
<Directory Id=" MyDir " Name="MyDir" >
<Component Id="__MyDirComponent"
Guid="17148F22-$(var.platformguid)-4CA5-BAA4-C47CA44E4A1F" KeyPath="yes"
Win64="$(var.win64)">
<!-- the file below needs to be generated before compiling -->
<!-- $(var.ThirdPartyDir)\MyDir -->
<?include GENERATED_MyDir.wxi ?>
<RegistryValue Id="_RegValue" Root="HKCR"
Key="CLSID\{GUID}\InprocServer32" Name="Something" Type="string"
Value="Something" />
</Component>
Again, most of what I have done is because I still don't fully understand WIX.
-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 11:07 AM
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
Understood and I'm just trying to ensure that everyone understands that the
reasons the WiX toolset doesn't have a general purpose tool that solves this
problem because a "correct and complete" solution is very, very difficult to
implement. <smile/>
I'm also curious why you chose to use an Include instead of using a Fragment
with a ComponentGroup in it that is pulled in at link time?
-----Original Message-----
From: Bryan Turner [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 10:49
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
Rob,
You are correct, it does require some diligence on the source control side.
In my case, I do dynamic file pickup on files that are not to be patched or
updated . For example, we don't patch sample files, so the dynamically
included files are locked down after we release, thereby eliminating this
problem. This requires some planning to be properly implemented. By creating
the list of files dynamically, and then using them in an include file, I can
check the include file in once we are locked down for a release and then I
don't have to worry about new files being dynamically picked up. I am not
advocating this for everyone, I just do not want to be manually updating files
in the install every time something is changed.
-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 10:14 AM
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
1. What happens if you want to add or remove one of those sample files? You
can't technically add or remove resources from a Component so that would break
things... unless you guaranteed a major upgrade. Like I said, it gets tricky.
3. Did you actually specify any Files to be compressed? Either set the
Compress attribute on the File or compress everything by default by setting
Package/@Compress.
-----Original Message-----
From: Bryan Turner [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 10:00
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
Rob,
I am using one component for a group of files, not all my files. For example,
non-versioned files like samples that are all grouped into the same directory
(and therefore the same component) should be safely grouped in one component, I
believe.
Regarding the embed cab, it does not work for me, I simply get this warning:
warning LGHT1079 : The cabinet 'product.cab' does not contain any files. If
this installation contains no files, this warning can likely be safely ignored.
Otherwise, please addfiles to the cabinet or remove it.
Here is the email I sent on this earlier, although I never did see it hit the
message board (probably user error)...
Hello, I think I am missing something obvious....
I am using Wix 3.0.4429. In my .wxs file, I have the following elements:
<Media Id='1' Cabinet='product.cab' EmbedCab='yes' />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="MyDir" Name="MyDir">
<Directory Id="MySubDir" Name="MySubDir"
ShortName="MYSUBDIR">
<Directory Id="INSTALLDIR">
<Merge Id='Core' Language='1033'
SourceFile='Core.msm' DiskId='1' />
</Directory>
<Feature Id="Core" Absent="disallow" AllowAdvertise="no"
ConfigurableDirectory="INSTALLDIR" Description="Core" Level="1" Title="Core
Files" >
<MergeRef Id=" Core" />
</Feature>
When I link with Light, I get this warning, and my files are not compressed
into an internal cab inside the .msi, but are instead uncompressed next to the
.msi
light.exe Core.wixobj -out Core.msi -nologo
Core.wxs(24) : warning LGHT1079 : The cabinet 'product.cab' does not contain
any files. If this installation contains no files, this warning can likely be
safely ignored. Otherwise, please addfiles to the cabinet or remove it.
If anyone can see the obvious, please let me know.
-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 9:22 AM
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
1. One Component with all your files in it is a can be a very dangerous
design. There are a lot of servicing scenarios where you might be very unhappy
with that decision. The difficulty of autogenerating Components that meet all
"good design guidelines" is why we don't have a good tool in WiX yet...
knowingly painful.
2. No doubt. I believe, there are several tools around who's strengths are on
UI editing.
3. It is simple: <Media DiskId="1" Cabinet="product.cab" EmbedCab="yes"/>
also set Package/@Compressed="yes" to get everything compressed, or compress
File elements individually.
-----Original Message-----
From: Bryan Turner [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 09:06
To: General discussion for Windows Installer XML toolset.; [EMAIL PROTECTED]
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
I just moved a project from IS 12 to WIX, other than what has been pointed out
below, here is what I did:
1. Created my IS 12 generated msm's
2. Ripped out all the IS tables in the .msm's with ORCA
3. Ripped out all the IS custom actions, binaries, properties, etc... in
the .msm's with ORCA
4. Ran dark.exe on the now gutted merge modules and diffed them against
the IS generated ones
5. Checked in my .wxs files that generate my .msm's
1. Created my IS 12 generated .msi, without merging in all my .msm's, just
wanted the bare .msi
2. Ripped out all the IS tables in the .msi
3. Ripped out all the IS custom actions, binaries, properties, etc... in
the .msi
4. Ran the now gutted install to make sure it still worked
5. Ran dark on the now gutted .msi's
6. compiled and tested with my merged modules
7. modified my build scripts to use WIX instead of IS to build
This was just finished, and it seems to be working OK. WIX files are so much
easier to maintain, and you can simply check the WIX folder into your source
tree and your entire development/QA team can create installations without
having to have IS installed.
However, here is what you will lose, in my opinion, and you need to be ready
for this:
1. the niceness that IS provides, like being able to just point it at a
directory tree and telling the install to go gather up all the files and
folders and add them to the install. My dev team almost choked on that, so I
had to role my own implementation of dynamically picking up files from a
directory (but not recursively) and making sure that all the files were
assigned only one GUID. There are tools for this, like Heat.exe, Parafin,
Tallow, etc... but I was unable to find one that would allow me to just use a
wix include file to insert multiple files under a single component (and GUID).
This could be user error/ignorance on my part.
2. UI changes - If you need to modify the UI of your installer, you have
lost that nice interface you get with a GUI based install tool like IS
3. Still can't figure out how to embed the cab files into the .msi with
WIX 3.0, even though it is supposed to be simple. I am sure this is user error.
-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 01, 2008 7:49 AM
To: [EMAIL PROTECTED]; General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Moving from InstallShield 12 to wix
Sorry, caught the end of this thread.
1. You need to maintain Component/@Guids according to the Component Rules. It
doesn't matter what tool you use to create the MSI. Once you ship, you must
maintain the GUIDs appropriately.
2. ProductCodes and UpgradeCodes need to be updated following the Windows
Installer rules for upgrades. Major upgrade? Change the ProductCode... etc.
3. Dark.exe can help get all of your authoring and it will preserve all the
GUIDs for you. Technically speaking, you should be able to switch at any time
and rebuild a functionally identical MSI file (although it may be a little
smaller since WiX tries very hard to only add the things you need).
-----Original Message-----
From: Michael Owings [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 30, 2008 18:01
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Moving from InstallShield 12 to wix
I'm currently in the process of moving from an InstallShield 12 (which I
loathe) project over to wix. I'd ideally like to be able to update the
next version of this project via wix.
I'm wondering if I use the the same product and component IDs if I'd be
in good shape as far as an upgrading goes. Any gotchas I should be aware of?
Thanx in advance -- m
--
Teleoperate a roving mobile robot from the web:
http://www.swampgas.com/robotics/rover.html
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users