Re: [WiX-users] Merge Module Help

2008-07-31 Thread Rob Mensching
Blair, you're right, it isn't "analysis paralysis" but the Component Rules are 
*fundamentally* broken.  The fact that it is possible to mathematically 
demonstrate how simple developer behavior can create a paradox in the system 
(http://blogs.msdn.com/robmen/archive/2003/10/18/56497.aspx) is just wrong.  Of 
course, it's going to be hard for them to "fix" since their foundation is built 
on these Component Rules.

So, building a system [to auto-generate GUIDs] that works perfectly within the 
Component Rules is one of the very hard problems that is still with us (and has 
been since the Windows Installer was written ).


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Blair Murri
Sent: Thursday, July 31, 2008 21:24
To: [EMAIL PROTECTED]
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

I just had to respond to this. Sorry for picking it back up.

XCOPY simplicity in an MSI package is very easy to do. You use empty component 
guids and change your ProductCode on every single build. You don't ever patch, 
and removal doesn't do anything (files are left behind). For a complete 
solution, suppress the component and product registration actions and you won't 
show up in ARP or have any other side-effects of MSI installation. You can even 
use SelfReg for your DLLs!

BINGO: XCOPY in an MSI package. And, you get a more user-friendly Files-In-Use 
as a bonus (xcopy never did that!).

Now, you also don't get COM/Registry registration, Firewall registration, Shell 
integration, Web-Site registration, Application repair, or any of a thousand 
other things that xcopy never did either. And, if you share any binaries you 
are back in DLL hell. There's a reason we don't do xcopy deployments anymore 
for the past ten years, and that is because the platform doesn't support xcopy 
deployed products for much more than trivial platform integrations.

Most developers want a lot of things made more simple, but we have learned to 
compromise and trade some complexity for some shared increased functionality. 
Most installations are not 7000 files, and most don't change their file lists 
daily, and for that majority, 
code-the-components-once-and-keep-them-in-source-code is absolutely the right 
way to go (it even gives you the benefit of a build exception/error if a file 
is missing). For those very few caught in the masses of constantly changing 
file lists, they need to ask what they really need from the platforms they 
deploy against and what level of effort is warranted. Last time I asked my 
developers, they didn't want to not think, they just don't know what to ask; 
and what they want is the simplest structure within which they can get the best 
deployment strategy they need for the parts of the platforms they write 
against. Since MSI is a platform for enabling just about any deployment 
strategy possible on a modern Microsoft Win
 dows platform, it has to enable support for all kinds of crap that xcopy could 
never do. While the architecture of Windows Installer doesn't lend itself to 
ease-of-correct-use, it does enable almost any scale deployment solution to be 
created in a correct fashion.

It isn't that the analysis has paralyzed us, it is that no one has volunteered 
a better architecture that works as well with the admittedly too-complicated 
platform (Windows and all its "environments") we have. The best way out of this 
is to simplify those environments (COM/IIS/etc.) from a deployment perspective 
and we can then craft a replacement deployment platform that is simpler. But of 
course platforms haven't been required to think through most deployment 
scenarios when engineering their platforms (COM+, anyone?). In fact, platforms 
on Windows don't even have to come from Microsoft. Until then, you can simplify 
for some with a different platform, but at the cost of dropping support for 
others. There are enough of those others that an industry dedicated to 
deployment technologies is alive and well.

Besides, if programming were really easy to do right, we wouldn't ask for 
college education for those entering the field, and we wouldn't be paid enough 
to support our families, since solutions involving not thinking can be employed 
by anyone, correct?

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christopher 
Painter
Sent: Wednesday, July 23, 2008 10:32 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

What feedback?  All I saw was a childish quip/troll post.

Personally I'm sick of the component rules and it's associated gotchas.  These 
are artificial problem caused by an overly complicated design.

Developers want xcopy simplicity.   The features are nice from a platform 
presevatin

Re: [WiX-users] Merge Module Help

2008-07-31 Thread Blair Murri
I just had to respond to this. Sorry for picking it back up.

XCOPY simplicity in an MSI package is very easy to do. You use empty component 
guids and change your ProductCode on every single build. You don't ever patch, 
and removal doesn't do anything (files are left behind). For a complete 
solution, suppress the component and product registration actions and you won't 
show up in ARP or have any other side-effects of MSI installation. You can even 
use SelfReg for your DLLs!

BINGO: XCOPY in an MSI package. And, you get a more user-friendly Files-In-Use 
as a bonus (xcopy never did that!).

Now, you also don't get COM/Registry registration, Firewall registration, Shell 
integration, Web-Site registration, Application repair, or any of a thousand 
other things that xcopy never did either. And, if you share any binaries you 
are back in DLL hell. There's a reason we don't do xcopy deployments anymore 
for the past ten years, and that is because the platform doesn't support xcopy 
deployed products for much more than trivial platform integrations.

Most developers want a lot of things made more simple, but we have learned to 
compromise and trade some complexity for some shared increased functionality. 
Most installations are not 7000 files, and most don't change their file lists 
daily, and for that majority, 
code-the-components-once-and-keep-them-in-source-code is absolutely the right 
way to go (it even gives you the benefit of a build exception/error if a file 
is missing). For those very few caught in the masses of constantly changing 
file lists, they need to ask what they really need from the platforms they 
deploy against and what level of effort is warranted. Last time I asked my 
developers, they didn't want to not think, they just don't know what to ask; 
and what they want is the simplest structure within which they can get the best 
deployment strategy they need for the parts of the platforms they write 
against. Since MSI is a platform for enabling just about any deployment 
strategy possible on a modern Microsoft Win
 dows platform, it has to enable support for all kinds of crap that xcopy could 
never do. While the architecture of Windows Installer doesn't lend itself to 
ease-of-correct-use, it does enable almost any scale deployment solution to be 
created in a correct fashion.

It isn't that the analysis has paralyzed us, it is that no one has volunteered 
a better architecture that works as well with the admittedly too-complicated 
platform (Windows and all its "environments") we have. The best way out of this 
is to simplify those environments (COM/IIS/etc.) from a deployment perspective 
and we can then craft a replacement deployment platform that is simpler. But of 
course platforms haven't been required to think through most deployment 
scenarios when engineering their platforms (COM+, anyone?). In fact, platforms 
on Windows don't even have to come from Microsoft. Until then, you can simplify 
for some with a different platform, but at the cost of dropping support for 
others. There are enough of those others that an industry dedicated to 
deployment technologies is alive and well.

Besides, if programming were really easy to do right, we wouldn't ask for 
college education for those entering the field, and we wouldn't be paid enough 
to support our families, since solutions involving not thinking can be employed 
by anyone, correct?

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christopher 
Painter
Sent: Wednesday, July 23, 2008 10:32 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

What feedback?  All I saw was a childish quip/troll post.

Personally I'm sick of the component rules and it's associated gotchas.  These 
are artificial problem caused by an overly complicated design.

Developers want xcopy simplicity.   The features are nice from a platform 
presevatin perspective but nearly 10 years have gone by since it was invented 
and we are still sitting around a table scratching our head how to solve the 
authoring headaches that it created.  Talk about analysis paralysis.



--- On Wed, 7/23/08, Rob Mensching <[EMAIL PROTECTED]> wrote:

> From: Rob Mensching <[EMAIL PROTECTED]>
> Subject: Re: [WiX-users] Merge Module Help
> To: "General discussion for Windows Installer XML toolset." 
> 
> Date: Wednesday, July 23, 2008, 11:39 AM
> Hey, wait a minute here.
>
> First, Automating Component/@Guids requires a bullet-proof
> solution. The side-effects of violating the Component Rules
> are nasty on two fronts a) once violated there are no real
> good ways out (something will get messed up on the
> user's machine) and b) you don't usually realize
> you've violated the rules until it is too late (like
> wh

Re: [WiX-users] Merge Module Help

2008-07-23 Thread Christopher Painter
What feedback?  All I saw was a childish quip/troll post.

Personally I'm sick of the component rules and it's associated gotchas.  These 
are artificial problem caused by an overly complicated design. 

Developers want xcopy simplicity.   The features are nice from a platform 
presevatin perspective but nearly 10 years have gone by since it was invented 
and we are still sitting around a table scratching our head how to solve the 
authoring headaches that it created.  Talk about analysis paralysis.



--- On Wed, 7/23/08, Rob Mensching <[EMAIL PROTECTED]> wrote:

> From: Rob Mensching <[EMAIL PROTECTED]>
> Subject: Re: [WiX-users] Merge Module Help
> To: "General discussion for Windows Installer XML toolset." 
> 
> Date: Wednesday, July 23, 2008, 11:39 AM
> Hey, wait a minute here.
> 
> First, Automating Component/@Guids requires a bullet-proof
> solution. The side-effects of violating the Component Rules
> are nasty on two fronts a) once violated there are no real
> good ways out (something will get messed up on the
> user's machine) and b) you don't usually realize
> you've violated the rules until it is too late (like
> when you need a critical security fix).  If you're
> going to suggest a solution to this problem then expect it
> to be "pedantically picked through".  From there
> you should adapt your solution based on feedback or specify
> how the feedback is actually addressed by the solution or
> note that your solution doesn't work and try something
> different.  Partial success isn't an option here
> because the "partial failures" are so horrible.
> 
> 
> Second, please take the personal comments elsewhere.  This
> is where we talk about the WiX toolset.
> 
> 
> Thank you.
> 
> 
> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf
> Of Bob Arnson
> Sent: Wednesday, July 23, 2008 08:54
> To: [EMAIL PROTECTED]
> Cc: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> Christopher Painter wrote:
> > Once again you pedantically pick through my comment
> without actually offering anything constructive yourself.
> 
> Wow, I'm really put in my place, aren't I?
> 
> --
> sig://boB
> http://joyofsetup.com/
> 
> 
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread John Hall
> 1.  How do you manage updates to the "database" in source 
> control?  Do people update the file before building or does 
> the build machine checkout/checkin automatically?  If the 
> latter, what source control systems does it support... (you 
> can see where I'm going )?

We use cvsnt as our source control system, and my build/release script
does an update before building. The custom build task currently just
generates a build warning if it's had to update the database, and that's
my cue to commit the file back into CVS. There's probably nothing
stopping me from making the commit automatic, but it means I can keep an
eye on what is going on.

> 2.  How is this better than using auto-generated-stable Guids?

It's probably not. I'm not sure heat had that functionality when I
implemented what I have implemented, and I wasn't aware that
auto-generated GUIDs were possible.

It's worth noting that I only use this method for parts of the installer
where there are collections of simple files that need installing, with
no other resources. These files are changed by other people on the team,
sometimes people who are not developers, and so it makes my life easy to
harvest them. I've got it working well enough for our environment and
the constraints we operate under; it may not work so well for others.
For example, I also have build tasks that generate wxs fragments for VB6
COM controls, stripping out some of the needless stuff that VB puts in
the registry, which is duplicated across all controls, again using a
similar scheme to store GUID state.

Regards,
John

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Rob Mensching
IMHO, when you automate part of the process, you take responsibility for the 
automation always being correct.  To me that means the automation needs to be 
able to handle all of the scenarios.  Patching is one of the scenarios.  Run 
the deduction to the end and you see what a difficult problem the 
Component/@Guid creates.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson
Sent: Wednesday, July 23, 2008 08:47
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

Christopher Karper wrote:
> FWIW, I personally would rather manage the process by exception, instead of
> *always*.
>

Yes, some help is usually better than none. It's all about managing
expectations. If it's possible to automatically generate the original
setups, not being able to generate patches might be surprising.

--
sig://boB
http://joyofsetup.com/



-
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Rob Mensching
1.  How do you manage updates to the "database" in source control?  Do people 
update the file before building or does the build machine checkout/checkin 
automatically?  If the latter, what source control systems does it support... 
(you can see where I'm going )?

2.  How is this better than using auto-generated-stable Guids?


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Hall
Sent: Wednesday, July 23, 2008 01:28
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

> The case that gets really tricky is to have one build where a Resource

> disappears (usually accidentally) then the next build where the
> Resource comes back.  It needs to get the same Component and GUID.

I have written a tool that auto-generates .wxs files for some parts of
my project - we ship a lot of example scripts. It only handles files and
generates one component per file. The tool maintains a database (well,
an XML file) that lists all the GUIDs ever allocated, and adds entries
as it needs. That file is kept in source control.

This seems to work well for me - have I missed something important?

Regards,
John

-
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Rob Mensching
ClickThrough also ensures that there is no overlap between the versions.  
That's important to remember as well.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson
Sent: Wednesday, July 23, 2008 09:17
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

John Hall wrote:
> Ah, we don't do patches, which is why it works for me :)
>

That's also an option. That's what ClickThrough does, using "early"
major upgrades every time. In that case, you don't even need stable IDs.

--
sig://boB
http://joyofsetup.com/


-
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Rob Mensching
Hey, wait a minute here.

First, Automating Component/@Guids requires a bullet-proof solution. The 
side-effects of violating the Component Rules are nasty on two fronts a) once 
violated there are no real good ways out (something will get messed up on the 
user's machine) and b) you don't usually realize you've violated the rules 
until it is too late (like when you need a critical security fix).  If you're 
going to suggest a solution to this problem then expect it to be "pedantically 
picked through".  From there you should adapt your solution based on feedback 
or specify how the feedback is actually addressed by the solution or note that 
your solution doesn't work and try something different.  Partial success isn't 
an option here because the "partial failures" are so horrible.


Second, please take the personal comments elsewhere.  This is where we talk 
about the WiX toolset.


Thank you.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson
Sent: Wednesday, July 23, 2008 08:54
To: [EMAIL PROTECTED]
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Merge Module Help

Christopher Painter wrote:
> Once again you pedantically pick through my comment without actually offering 
> anything constructive yourself.

Wow, I'm really put in my place, aren't I?

--
sig://boB
http://joyofsetup.com/


-
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Bob Arnson
John Hall wrote:
> Ah, we don't do patches, which is why it works for me :)
>   

That's also an option. That's what ClickThrough does, using "early" 
major upgrades every time. In that case, you don't even need stable IDs.

-- 
sig://boB
http://joyofsetup.com/


-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread John Hall
> John Hall wrote:

> > I have written a tool that auto-generates .wxs files for some parts
> > of my project - we ship a lot of example scripts. It only handles
> > files and generates one component per file. The tool maintains a
> > database (well, an XML file) that lists all the GUIDs ever
> > allocated, and adds entries as it needs. That file is kept in source
> > control.
> >
> > This seems to work well for me - have I missed something important?
> >   
> 
> What happens when someone wants to remove a file? (You can't 
> remove a component in a patch.)

Ah, we don't do patches, which is why it works for me :)

John

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Bob Arnson
Christopher Painter wrote:
> Once again you pedantically pick through my comment without actually offering 
> anything constructive yourself. 

Wow, I'm really put in my place, aren't I?

-- 
sig://boB
http://joyofsetup.com/


-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Christopher Painter
I was thinking that the missing file would be the exception.  Can you clarify 
what you have in mind?


--- On Wed, 7/23/08, Christopher Karper <[EMAIL PROTECTED]> wrote:

> From: Christopher Karper <[EMAIL PROTECTED]>
> Subject: Re: [WiX-users] Merge Module Help
> To: "General discussion for Windows Installer XML toolset." 
> 
> Date: Wednesday, July 23, 2008, 10:38 AM
> FWIW, I personally would rather manage the process by
> exception, instead of
> *always*.
> 
> Chris
> 
> On Wed, Jul 23, 2008 at 11:33 AM, Bob Arnson
> <[EMAIL PROTECTED]> wrote:
> 
> > Christopher Painter wrote:
> > > This would be a pretty easy scenario to handle. 
> Check the WXS against
> > the XML and if a component is missing, throw an error
> and suggest the
> > puncture component pattern ( transitive=true
> condition=false,  0 byte files
> > for storage )
> > >
> >
> > "Throw an error" isn't the kind of
> automation most people are looking for.
> >
> > --
> > sig://boB
> > http://joyofsetup.com/
> >
> >
> >
> >
> -
> > 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
> > WiX-users@lists.sourceforge.net
> > 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Bob Arnson
Christopher Karper wrote:
> FWIW, I personally would rather manage the process by exception, instead of
> *always*.
>   

Yes, some help is usually better than none. It's all about managing 
expectations. If it's possible to automatically generate the original 
setups, not being able to generate patches might be surprising.

-- 
sig://boB
http://joyofsetup.com/



-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Christopher Painter
Once again you pedantically pick through my comment without actually offering 
anything constructive yourself. Do you feel better now?   FWIW it would be nice 
if you applied your own comment to programs like HEAT because when I saw run a 
heat harvest command and get a JIT exception, that's certainly not the behavior 
that I'm looking for in a tool that's supposed to make life easier not harder.

Information, Warning, Error... pick one.  I pick error because if the installer 
consumed a file that is no longer there you need to know about it.   You could 
have a configuration setting that declares the event as a warning and 
automatically implements the punctured components pattern but I think that 
assumes too much that the missing file is correctly missing.


--- On Wed, 7/23/08, Bob Arnson <[EMAIL PROTECTED]> wrote:

> From: Bob Arnson <[EMAIL PROTECTED]>
> Subject: Re: [WiX-users] Merge Module Help
> To: [EMAIL PROTECTED], "General discussion for Windows Installer XML 
> toolset." 
> Date: Wednesday, July 23, 2008, 10:33 AM
> Christopher Painter wrote:
> > This would be a pretty easy scenario to handle.  Check
> the WXS against the XML and if a component is missing, throw
> an error and suggest the puncture component pattern (
> transitive=true condition=false,  0 byte files for storage
> )
> >   
> 
> "Throw an error" isn't the kind of automation
> most people are looking for.
> 
> -- 
> sig://boB
> http://joyofsetup.com/


  

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Christopher Karper
FWIW, I personally would rather manage the process by exception, instead of
*always*.

Chris

On Wed, Jul 23, 2008 at 11:33 AM, Bob Arnson <[EMAIL PROTECTED]> wrote:

> Christopher Painter wrote:
> > This would be a pretty easy scenario to handle.  Check the WXS against
> the XML and if a component is missing, throw an error and suggest the
> puncture component pattern ( transitive=true condition=false,  0 byte files
> for storage )
> >
>
> "Throw an error" isn't the kind of automation most people are looking for.
>
> --
> sig://boB
> http://joyofsetup.com/
>
>
>
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Bob Arnson
Christopher Painter wrote:
> This would be a pretty easy scenario to handle.  Check the WXS against the 
> XML and if a component is missing, throw an error and suggest the puncture 
> component pattern ( transitive=true condition=false,  0 byte files for 
> storage )
>   

"Throw an error" isn't the kind of automation most people are looking for.

-- 
sig://boB
http://joyofsetup.com/



-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Christopher Painter
This would be a pretty easy scenario to handle.  Check the WXS against the XML 
and if a component is missing, throw an error and suggest the puncture 
component pattern ( transitive=true condition=false,  0 byte files for storage )

--- On Wed, 7/23/08, Bob Arnson <[EMAIL PROTECTED]> wrote:

> From: Bob Arnson <[EMAIL PROTECTED]>
> Subject: Re: [WiX-users] Merge Module Help
> To: "General discussion for Windows Installer XML toolset." 
> 
> Date: Wednesday, July 23, 2008, 9:32 AM
> John Hall wrote:
> > I have written a tool that auto-generates .wxs files
> for some parts of
> > my project - we ship a lot of example scripts. It only
> handles files and
> > generates one component per file. The tool maintains a
> database (well,
> > an XML file) that lists all the GUIDs ever allocated,
> and adds entries
> > as it needs. That file is kept in source control.
> >
> > This seems to work well for me - have I missed
> something important?
> >   
> 
> What happens when someone wants to remove a file? (You
> can't remove a 
> component in a patch.)
> 
> -- 
> sig://boB
> http://joyofsetup.com/
> 
> 
> 
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread Bob Arnson
John Hall wrote:
> I have written a tool that auto-generates .wxs files for some parts of
> my project - we ship a lot of example scripts. It only handles files and
> generates one component per file. The tool maintains a database (well,
> an XML file) that lists all the GUIDs ever allocated, and adds entries
> as it needs. That file is kept in source control.
>
> This seems to work well for me - have I missed something important?
>   

What happens when someone wants to remove a file? (You can't remove a 
component in a patch.)

-- 
sig://boB
http://joyofsetup.com/



-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-23 Thread John Hall
> The case that gets really tricky is to have one build where a Resource

> disappears (usually accidentally) then the next build where the 
> Resource comes back.  It needs to get the same Component and GUID.

I have written a tool that auto-generates .wxs files for some parts of
my project - we ship a lot of example scripts. It only handles files and
generates one component per file. The tool maintains a database (well,
an XML file) that lists all the GUIDs ever allocated, and adds entries
as it needs. That file is kept in source control.

This seems to work well for me - have I missed something important?

Regards,
John

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-22 Thread Rob Mensching
I also have the advantage (disadvantage?) of "scale" to "inform" my opinions.  
  I routinely have to deal with projects the size of Office, SQL Server 
and Visual Studio so there is plenty of opportunity for "cosmic rays" (Murphy's 
law?) to sneak in and blow the "quick but incomplete" (hack?) solutions out of 
the water.  Failure for multi-billion dollar (no exaggeration) projects also 
isn't an option so I usually feel compelled to look for the complete solution.

I know it has frustrated people in the past that we don't just "make heat.exe 
work" but there are some tricky problems in there and, honestly, no one is 
working on them.  I want to believe there is a good solution to the 
Component/@Guid problem out there... but I haven't seen it yet.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James Minnis
Sent: Saturday, July 19, 2008 17:49
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Merge Module Help

That's an excellent point.  The devil, as always, is in the details of when
someone screws up.  Since Murphy is looking out for us, it never manages to
work ideally.  :)

-Jamey

[EMAIL PROTECTED]
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Rob Mensching
> Sent: Saturday, July 19, 2008 1:15 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
>
> I think you've over-simplified the Component Rules.  Once a Component
> contains a set of Resources, those Resources must ship in that Component
> with that GUID forever.  Resources are files, registry keys, shortcuts,
> etc. (basically almost everything that can be a child of the Component
> element).
>
> The case that gets really tricky is to have one build where a Resource
> disappears (usually accidentally) then the next build where the Resource
> comes back.  It needs to get the same Component and GUID.
>
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of James Minnis
> Sent: Saturday, July 19, 2008 13:08
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: Re: [WiX-users] Merge Module Help
>
> I couldn't find a feature request for that with a couple of quick
> searches,
> but it is possible that I missed it.
>
> This is definitely not a trivial problem to solve, but I don't see why it
> would be an intractable one.  For a first pass, I'd generate a fragment
> WXS
> file where one element is a hash or CRC of the rest of the file.  As long
> as
> the existing file generates the same hash/CRC, the file is unmodified and
> you can safely import the existing autogenerated XML structures.  You can
> then do a diff with the existing file/folder structure and only modify
> where
> necessary.  I'd make doing a merge with the existing file a new command
> line
> switch for Heat.
>
> Obviously, there are a lot of implementation details I'm sweeping under
> the
> rug, but conceptually I don't see why the problem is really hard, assuming
> that the first pass can only work with unmodified output of the Harvester.
> It wouldn't make everyone happy, but it is a method which most people
> could
> work with.
>
> -Jamey
> ____________________
> [EMAIL PROTECTED]
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of Rob Mensching
> > Sent: Saturday, July 19, 2008 11:01 AM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > This is a constant feature request (I'm surprised there isn't a feature
> > request already).  Generating Component GUIDs that follow the Component
> > Rules is an *extremely hard* problem to solve perfectly.  The auto-
> > generated Component GUIDs is pretty good (assuming it doesn't have any
> > bugs) but has a number restrictions.  Heat already supports those with
> the
> > "-ag" switch.
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of James Minnis
> > Sent: Saturday, July 19, 2008 09:15
> > To: 'General discussion for Windows Installer XML toolset.'
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > That's unfortunate.
> >
> > I could probably write something to keep the GUIDs standardized, but it
> > woul

Re: [WiX-users] Merge Module Help

2008-07-21 Thread Neil Sleightholm
James
 
I haven't been following this thread in detail but I read the "wixlib" bit and 
thought I might be able to help. I have been doing quite a lot with them 
recently and have found them to be an excellent replacement of merge modules 
(assuming the consumer is using WiX). Let me know if you need more details on 
how to create and use them - I am hoping to document this soon for the WiX help 
file.
 
Neil
 
Neil Sleightholm
X2 Systems Limited
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
 



From: [EMAIL PROTECTED] on behalf of James Minnis
Sent: Sat 19/07/2008 21:11
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Merge Module Help



Based on what people said in earlier messages, I'm migrating to using a
wixlib with a fragment generated by Heat.  A lack of samples or useful
documentation had left me doing trial and error to figure how.

If you think that there is a better method, please let me know what it is.
:)

-Jamey

[EMAIL PROTECTED]

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Bob Arnson
> Sent: Saturday, July 19, 2008 10:22 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
>
> James Minnis wrote:
> > Right now, I'm generating a merge module
>
> Do you have a specific need for a merge module? (i.e., are you sharing
> it with others so they can create installers?) If not, avoid merge
> modules. They needlessly complicate things, as you're finding out with #1.
>
> > 1) I want to create shortcuts to several of the files in the merge
> module.
> > I'm doing this currently in a start menu shortcuts component in the main
> > installer.  However, I cannot figure out how to reference the
> directories in
> > the merge module in the main project (I get an empty string when I try
> to
> > reference them like I do the directories in the main installer project).
> > How do I reference the directories?  Or is there a better way to do
> this?
> >
>
> You can't. Merge modules are supposed to be self-contained, so if you
> want shortcuts, define them in the merge module. Or don't use merge
> modules.
>
> > 2) The components in the merge module are generated with GUIDs.  If I
> > regenerate the merge module WXS file using Heat (e.g. if I add files),
> those
> > GUIDs change.  How will this affect patches?  Will the patch recognize
> the
> > files as being the same, or will it consider all of the files changed
> and
> > overwrite everything?  Will I need to add files manually to the merge
> module
> > WXS file to make patching work correctly?
> >
>
> You won't be able to patch. The WiX approach is to use stable GUIDs
> (heat's -ag switch). But with 7000 files, that's going to cause some
> long pauses during costing.
>
> --
> sig://boB
> http://joyofsetup.com/
>
>
>
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread James Minnis
That's an excellent point.  The devil, as always, is in the details of when
someone screws up.  Since Murphy is looking out for us, it never manages to
work ideally.  :)

-Jamey

[EMAIL PROTECTED] 
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Rob Mensching
> Sent: Saturday, July 19, 2008 1:15 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> I think you've over-simplified the Component Rules.  Once a Component
> contains a set of Resources, those Resources must ship in that Component
> with that GUID forever.  Resources are files, registry keys, shortcuts,
> etc. (basically almost everything that can be a child of the Component
> element).
> 
> The case that gets really tricky is to have one build where a Resource
> disappears (usually accidentally) then the next build where the Resource
> comes back.  It needs to get the same Component and GUID.
> 
> 
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of James Minnis
> Sent: Saturday, July 19, 2008 13:08
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: Re: [WiX-users] Merge Module Help
> 
> I couldn't find a feature request for that with a couple of quick
> searches,
> but it is possible that I missed it.
> 
> This is definitely not a trivial problem to solve, but I don't see why it
> would be an intractable one.  For a first pass, I'd generate a fragment
> WXS
> file where one element is a hash or CRC of the rest of the file.  As long
> as
> the existing file generates the same hash/CRC, the file is unmodified and
> you can safely import the existing autogenerated XML structures.  You can
> then do a diff with the existing file/folder structure and only modify
> where
> necessary.  I'd make doing a merge with the existing file a new command
> line
> switch for Heat.
> 
> Obviously, there are a lot of implementation details I'm sweeping under
> the
> rug, but conceptually I don't see why the problem is really hard, assuming
> that the first pass can only work with unmodified output of the Harvester.
> It wouldn't make everyone happy, but it is a method which most people
> could
> work with.
> 
> -Jamey
> 
> [EMAIL PROTECTED]
> > -Original Message-----
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of Rob Mensching
> > Sent: Saturday, July 19, 2008 11:01 AM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > This is a constant feature request (I'm surprised there isn't a feature
> > request already).  Generating Component GUIDs that follow the Component
> > Rules is an *extremely hard* problem to solve perfectly.  The auto-
> > generated Component GUIDs is pretty good (assuming it doesn't have any
> > bugs) but has a number restrictions.  Heat already supports those with
> the
> > "-ag" switch.
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of James Minnis
> > Sent: Saturday, July 19, 2008 09:15
> > To: 'General discussion for Windows Installer XML toolset.'
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > That's unfortunate.
> >
> > I could probably write something to keep the GUIDs standardized, but it
> > would be more work than it's worth for a hobby project I'm doing in my
> > spare
> > time.
> >
> > Most of our updates will only involve changes to text files rather than
> > adding or removing files.  That implies a patch to me.  If we have to
> add
> > or
> > remove more than a small number of files, I guess we'll bite the bullet
> > and
> > do a major upgrade.  It isn't ideal but it will work.
> >
> > I submitted a feature request (#2022259).  Hopefully it will get some
> > attention.
> >
> > -Jamey
> >
> > > -Original Message-
> > > From: [EMAIL PROTECTED] [mailto:wix-users-
> > > [EMAIL PROTECTED] On Behalf Of Luke Bakken
> > > Sent: Saturday, July 19, 2008 8:09 AM
> > > To: General discussion for Windows Installer XML toolset.
> > > Subject: Re: [WiX-users] Merge Module Help
> > >
> > > >> I'm surprised that Heat doesn't have the functionality of leav

Re: [WiX-users] Merge Module Help

2008-07-19 Thread Rob Mensching
I think you've over-simplified the Component Rules.  Once a Component contains 
a set of Resources, those Resources must ship in that Component with that GUID 
forever.  Resources are files, registry keys, shortcuts, etc. (basically almost 
everything that can be a child of the Component element).

The case that gets really tricky is to have one build where a Resource 
disappears (usually accidentally) then the next build where the Resource comes 
back.  It needs to get the same Component and GUID.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James Minnis
Sent: Saturday, July 19, 2008 13:08
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Merge Module Help

I couldn't find a feature request for that with a couple of quick searches,
but it is possible that I missed it.

This is definitely not a trivial problem to solve, but I don't see why it
would be an intractable one.  For a first pass, I'd generate a fragment WXS
file where one element is a hash or CRC of the rest of the file.  As long as
the existing file generates the same hash/CRC, the file is unmodified and
you can safely import the existing autogenerated XML structures.  You can
then do a diff with the existing file/folder structure and only modify where
necessary.  I'd make doing a merge with the existing file a new command line
switch for Heat.

Obviously, there are a lot of implementation details I'm sweeping under the
rug, but conceptually I don't see why the problem is really hard, assuming
that the first pass can only work with unmodified output of the Harvester.
It wouldn't make everyone happy, but it is a method which most people could
work with.

-Jamey

[EMAIL PROTECTED]
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Rob Mensching
> Sent: Saturday, July 19, 2008 11:01 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
>
> This is a constant feature request (I'm surprised there isn't a feature
> request already).  Generating Component GUIDs that follow the Component
> Rules is an *extremely hard* problem to solve perfectly.  The auto-
> generated Component GUIDs is pretty good (assuming it doesn't have any
> bugs) but has a number restrictions.  Heat already supports those with the
> "-ag" switch.
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of James Minnis
> Sent: Saturday, July 19, 2008 09:15
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: Re: [WiX-users] Merge Module Help
>
> That's unfortunate.
>
> I could probably write something to keep the GUIDs standardized, but it
> would be more work than it's worth for a hobby project I'm doing in my
> spare
> time.
>
> Most of our updates will only involve changes to text files rather than
> adding or removing files.  That implies a patch to me.  If we have to add
> or
> remove more than a small number of files, I guess we'll bite the bullet
> and
> do a major upgrade.  It isn't ideal but it will work.
>
> I submitted a feature request (#2022259).  Hopefully it will get some
> attention.
>
> -Jamey
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of Luke Bakken
> > Sent: Saturday, July 19, 2008 8:09 AM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > >> I'm surprised that Heat doesn't have the functionality of leaving the
> > >> existing GUIDs in place.  I just presumed I wasn't seeing how to do
> it.
> > >
> > > There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
> > > managing GUIDs. I've never used it so I can't vouch for it, but it may
> > > be what you're looking for.
> > >
> >
> > Hm. On re-reading that article it appears that Paraffin doesn't
> > actually manage your GUIDs. You could accomplish something custom for
> > your app using heat.exe and a database of some sort. It's definitely a
> > missing part of the toolset.
> >
> > Where I work, teams that deal with large numbers of components just do
> > major upgrades all the time. We figured that we would cross the GUID
> > bridge when we had to for patches.
> >
> > 
> -
> > This SF.Net email 

Re: [WiX-users] Merge Module Help

2008-07-19 Thread James Minnis
Based on what people said in earlier messages, I'm migrating to using a
wixlib with a fragment generated by Heat.  A lack of samples or useful
documentation had left me doing trial and error to figure how.

If you think that there is a better method, please let me know what it is.
:)

-Jamey

[EMAIL PROTECTED] 

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Bob Arnson
> Sent: Saturday, July 19, 2008 10:22 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> James Minnis wrote:
> > Right now, I'm generating a merge module
> 
> Do you have a specific need for a merge module? (i.e., are you sharing
> it with others so they can create installers?) If not, avoid merge
> modules. They needlessly complicate things, as you're finding out with #1.
> 
> > 1) I want to create shortcuts to several of the files in the merge
> module.
> > I'm doing this currently in a start menu shortcuts component in the main
> > installer.  However, I cannot figure out how to reference the
> directories in
> > the merge module in the main project (I get an empty string when I try
> to
> > reference them like I do the directories in the main installer project).
> > How do I reference the directories?  Or is there a better way to do
> this?
> >
> 
> You can't. Merge modules are supposed to be self-contained, so if you
> want shortcuts, define them in the merge module. Or don't use merge
> modules.
> 
> > 2) The components in the merge module are generated with GUIDs.  If I
> > regenerate the merge module WXS file using Heat (e.g. if I add files),
> those
> > GUIDs change.  How will this affect patches?  Will the patch recognize
> the
> > files as being the same, or will it consider all of the files changed
> and
> > overwrite everything?  Will I need to add files manually to the merge
> module
> > WXS file to make patching work correctly?
> >
> 
> You won't be able to patch. The WiX approach is to use stable GUIDs
> (heat's -ag switch). But with 7000 files, that's going to cause some
> long pauses during costing.
> 
> --
> sig://boB
> http://joyofsetup.com/
> 
> 
> 
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread James Minnis
I couldn't find a feature request for that with a couple of quick searches,
but it is possible that I missed it.

This is definitely not a trivial problem to solve, but I don't see why it
would be an intractable one.  For a first pass, I'd generate a fragment WXS
file where one element is a hash or CRC of the rest of the file.  As long as
the existing file generates the same hash/CRC, the file is unmodified and
you can safely import the existing autogenerated XML structures.  You can
then do a diff with the existing file/folder structure and only modify where
necessary.  I'd make doing a merge with the existing file a new command line
switch for Heat.  

Obviously, there are a lot of implementation details I'm sweeping under the
rug, but conceptually I don't see why the problem is really hard, assuming
that the first pass can only work with unmodified output of the Harvester.
It wouldn't make everyone happy, but it is a method which most people could
work with.

-Jamey

[EMAIL PROTECTED] 
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Rob Mensching
> Sent: Saturday, July 19, 2008 11:01 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> This is a constant feature request (I'm surprised there isn't a feature
> request already).  Generating Component GUIDs that follow the Component
> Rules is an *extremely hard* problem to solve perfectly.  The auto-
> generated Component GUIDs is pretty good (assuming it doesn't have any
> bugs) but has a number restrictions.  Heat already supports those with the
> "-ag" switch.
> 
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of James Minnis
> Sent: Saturday, July 19, 2008 09:15
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: Re: [WiX-users] Merge Module Help
> 
> That's unfortunate.
> 
> I could probably write something to keep the GUIDs standardized, but it
> would be more work than it's worth for a hobby project I'm doing in my
> spare
> time.
> 
> Most of our updates will only involve changes to text files rather than
> adding or removing files.  That implies a patch to me.  If we have to add
> or
> remove more than a small number of files, I guess we'll bite the bullet
> and
> do a major upgrade.  It isn't ideal but it will work.
> 
> I submitted a feature request (#2022259).  Hopefully it will get some
> attention.
> 
> -Jamey
> 
> > -Original Message-----
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of Luke Bakken
> > Sent: Saturday, July 19, 2008 8:09 AM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > >> I'm surprised that Heat doesn't have the functionality of leaving the
> > >> existing GUIDs in place.  I just presumed I wasn't seeing how to do
> it.
> > >
> > > There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
> > > managing GUIDs. I've never used it so I can't vouch for it, but it may
> > > be what you're looking for.
> > >
> >
> > Hm. On re-reading that article it appears that Paraffin doesn't
> > actually manage your GUIDs. You could accomplish something custom for
> > your app using heat.exe and a database of some sort. It's definitely a
> > missing part of the toolset.
> >
> > Where I work, teams that deal with large numbers of components just do
> > major upgrades all the time. We figured that we would cross the GUID
> > bridge when we had to for patches.
> >
> > 
> -
> > 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
> > WiX-users@lists.sourceforge.net
> > 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 M

Re: [WiX-users] Merge Module Help

2008-07-19 Thread Rob Mensching
This is a constant feature request (I'm surprised there isn't a feature request 
already).  Generating Component GUIDs that follow the Component Rules is an 
*extremely hard* problem to solve perfectly.  The auto-generated Component 
GUIDs is pretty good (assuming it doesn't have any bugs) but has a number 
restrictions.  Heat already supports those with the "-ag" switch.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James Minnis
Sent: Saturday, July 19, 2008 09:15
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Merge Module Help

That's unfortunate.

I could probably write something to keep the GUIDs standardized, but it
would be more work than it's worth for a hobby project I'm doing in my spare
time.

Most of our updates will only involve changes to text files rather than
adding or removing files.  That implies a patch to me.  If we have to add or
remove more than a small number of files, I guess we'll bite the bullet and
do a major upgrade.  It isn't ideal but it will work.

I submitted a feature request (#2022259).  Hopefully it will get some
attention.

-Jamey

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Luke Bakken
> Sent: Saturday, July 19, 2008 8:09 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
>
> >> I'm surprised that Heat doesn't have the functionality of leaving the
> >> existing GUIDs in place.  I just presumed I wasn't seeing how to do it.
> >
> > There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
> > managing GUIDs. I've never used it so I can't vouch for it, but it may
> > be what you're looking for.
> >
>
> Hm. On re-reading that article it appears that Paraffin doesn't
> actually manage your GUIDs. You could accomplish something custom for
> your app using heat.exe and a database of some sort. It's definitely a
> missing part of the toolset.
>
> Where I work, teams that deal with large numbers of components just do
> major upgrades all the time. We figured that we would cross the GUID
> bridge when we had to for patches.
>
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread Bob Arnson
James Minnis wrote:
> Right now, I'm generating a merge module 

Do you have a specific need for a merge module? (i.e., are you sharing 
it with others so they can create installers?) If not, avoid merge 
modules. They needlessly complicate things, as you're finding out with #1.

> 1) I want to create shortcuts to several of the files in the merge module.
> I'm doing this currently in a start menu shortcuts component in the main
> installer.  However, I cannot figure out how to reference the directories in
> the merge module in the main project (I get an empty string when I try to
> reference them like I do the directories in the main installer project).
> How do I reference the directories?  Or is there a better way to do this?
>   

You can't. Merge modules are supposed to be self-contained, so if you 
want shortcuts, define them in the merge module. Or don't use merge modules.

> 2) The components in the merge module are generated with GUIDs.  If I
> regenerate the merge module WXS file using Heat (e.g. if I add files), those
> GUIDs change.  How will this affect patches?  Will the patch recognize the
> files as being the same, or will it consider all of the files changed and
> overwrite everything?  Will I need to add files manually to the merge module
> WXS file to make patching work correctly?
>   

You won't be able to patch. The WiX approach is to use stable GUIDs 
(heat's -ag switch). But with 7000 files, that's going to cause some 
long pauses during costing.

-- 
sig://boB
http://joyofsetup.com/



-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread James Minnis
That's unfortunate.

I could probably write something to keep the GUIDs standardized, but it
would be more work than it's worth for a hobby project I'm doing in my spare
time.

Most of our updates will only involve changes to text files rather than
adding or removing files.  That implies a patch to me.  If we have to add or
remove more than a small number of files, I guess we'll bite the bullet and
do a major upgrade.  It isn't ideal but it will work.

I submitted a feature request (#2022259).  Hopefully it will get some
attention.

-Jamey

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Luke Bakken
> Sent: Saturday, July 19, 2008 8:09 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> >> I'm surprised that Heat doesn't have the functionality of leaving the
> >> existing GUIDs in place.  I just presumed I wasn't seeing how to do it.
> >
> > There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
> > managing GUIDs. I've never used it so I can't vouch for it, but it may
> > be what you're looking for.
> >
> 
> Hm. On re-reading that article it appears that Paraffin doesn't
> actually manage your GUIDs. You could accomplish something custom for
> your app using heat.exe and a database of some sort. It's definitely a
> missing part of the toolset.
> 
> Where I work, teams that deal with large numbers of components just do
> major upgrades all the time. We figured that we would cross the GUID
> bridge when we had to for patches.
> 
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread Luke Bakken
>> I'm surprised that Heat doesn't have the functionality of leaving the
>> existing GUIDs in place.  I just presumed I wasn't seeing how to do it.
>
> There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
> managing GUIDs. I've never used it so I can't vouch for it, but it may
> be what you're looking for.
>

Hm. On re-reading that article it appears that Paraffin doesn't
actually manage your GUIDs. You could accomplish something custom for
your app using heat.exe and a database of some sort. It's definitely a
missing part of the toolset.

Where I work, teams that deal with large numbers of components just do
major upgrades all the time. We figured that we would cross the GUID
bridge when we had to for patches.

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread Luke Bakken
> updates, but it is very much not ideal.  The biggest problem with this is
> the lag in the Visual Studio IDE when dealing with a roughly 3 MB XML file
> for the merge module.

Don't use VS to edit your XML. Something like Notepad2 or Vim or any
modern text editor should work great.

> I'm surprised that Heat doesn't have the functionality of leaving the
> existing GUIDs in place.  I just presumed I wasn't seeing how to do it.

There was (is?) a project called "Paraffin" (http://xrl.us/mnhwj) for
managing GUIDs. I've never used it so I can't vouch for it, but it may
be what you're looking for.

-
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Merge Module Help

2008-07-19 Thread Christopher Karper
If you're using Votive, you can just create a .wixlib project.   That will
set up everything you need.
I don't have a lot of experience with them, as I can't use them.

Chris

On Sat, Jul 19, 2008 at 2:51 AM, James Minnis <[EMAIL PROTECTED]>
wrote:

> For major updates, changing the GUIDs should not matter as it does an
> uninstall of the old version then an install of the new version.  I just
> won't provide a patch to make that leap.  This should be acceptable because
> it will be infrequent.
>
> For smaller changes, a minor upgrade via patch should be doable with hand
> updates, but it is very much not ideal.  The biggest problem with this is
> the lag in the Visual Studio IDE when dealing with a roughly 3 MB XML file
> for the merge module.  I can mitigate this to some extent by breaking it
> into several smaller projects by subdirectory, but I'm unfortunately
> dealing
> with a directory and file structure that cannot be changed (this installer
> is for a mod for a video game).
>
> I'm surprised that Heat doesn't have the functionality of leaving the
> existing GUIDs in place.  I just presumed I wasn't seeing how to do it.
>
> I'm familiar with merge modules from developing MSIs for work, so that was
> my first thought when looking at Heat's options.  I haven't been able to
> find any documentation on how to create a wixlib with Heat or how to
> include
> a wixlib in a primary project.  A sample project featuring a wixlib would
> be
> even better.  Do either documentation or a sample project exist somewhere?
>
> -Jamey
>
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:wix-users-
> > [EMAIL PROTECTED] On Behalf Of Christopher Karper
> > Sent: Friday, July 18, 2008 5:52 PM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Merge Module Help
> >
> > I can't really answer intelligently to question #1, as to question #2,
> > I'll
> > do my best.
> >
> > Heat is really built for initial import functionality, not continual
> > maintenance.  You do not want your GUIDs changing on your components with
> > each build, it will turn upgrades into a nightmare, and will make
> patching
> > just about impossible, IMO.   The "suggested" method, is to use heat.exe
> > to
> > build your .wxs up front, then manually maintain the .wxs file as part of
> > your development process from there on out.   If someone adds an artifact
> > to
> > a project in a future version, they need to add it to the installer
> > definition as well.
> >
> > If you have the ability to go pure Wix with your installers, then you can
> > break this into manageable chunks using a .wixlib project for each major
> > subsystem, and having one parent .msi project link them all together.
> > This
> > is similar, but superior, to building .msm files and importing those in.
> > If your "parent" project is not Wix, then you're stuck in the same boat I
> > am, building .msm's.
> >
> > Either way you're stuck making manual changes to the .wxs files to keep
> > them
> > in sync with your project's outputs and required support files.  I
> > *really*
> > wish this wasn't the case, as the whole point of using an IDE (for me) is
> > to
> > manage all the grunt work like that, but there are some pretty
> substantial
> > complexities making it a pretty large undertaking that the team just
> > hasn't
> > gotten to yet.
> >
> > Chris
> >
> > On Fri, Jul 18, 2008 at 7:53 PM, James Minnis <[EMAIL PROTECTED]>
> > wrote:
> >
> > > I'm working on a fairly large installer.  It contains roughly 7000
> files
> > in
> > > 165 folders and a total of 670 MB of uncompressed data.  Needless to
> > say,
> > > I'm generating the files, components, and directories using Heat.
> > >
> > > Right now, I'm generating a merge module WXS file using Heat and then
> > using
> > > the Merge and MergeRef elements in my main installer.  This is all
> > working
> > > correctly.  I have several questions related to this:
> > >
> > > 1) I want to create shortcuts to several of the files in the merge
> > module.
> > > I'm doing this currently in a start menu shortcuts component in the
> main
> > > installer.  However, I cannot figure out how to reference the
> > directories
> > > in
> > > the merge module in the main project (I get an empty string when I tr

Re: [WiX-users] Merge Module Help

2008-07-18 Thread James Minnis
For major updates, changing the GUIDs should not matter as it does an
uninstall of the old version then an install of the new version.  I just
won't provide a patch to make that leap.  This should be acceptable because
it will be infrequent.

For smaller changes, a minor upgrade via patch should be doable with hand
updates, but it is very much not ideal.  The biggest problem with this is
the lag in the Visual Studio IDE when dealing with a roughly 3 MB XML file
for the merge module.  I can mitigate this to some extent by breaking it
into several smaller projects by subdirectory, but I'm unfortunately dealing
with a directory and file structure that cannot be changed (this installer
is for a mod for a video game).

I'm surprised that Heat doesn't have the functionality of leaving the
existing GUIDs in place.  I just presumed I wasn't seeing how to do it.

I'm familiar with merge modules from developing MSIs for work, so that was
my first thought when looking at Heat's options.  I haven't been able to
find any documentation on how to create a wixlib with Heat or how to include
a wixlib in a primary project.  A sample project featuring a wixlib would be
even better.  Do either documentation or a sample project exist somewhere?

-Jamey

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:wix-users-
> [EMAIL PROTECTED] On Behalf Of Christopher Karper
> Sent: Friday, July 18, 2008 5:52 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Merge Module Help
> 
> I can't really answer intelligently to question #1, as to question #2,
> I'll
> do my best.
> 
> Heat is really built for initial import functionality, not continual
> maintenance.  You do not want your GUIDs changing on your components with
> each build, it will turn upgrades into a nightmare, and will make patching
> just about impossible, IMO.   The "suggested" method, is to use heat.exe
> to
> build your .wxs up front, then manually maintain the .wxs file as part of
> your development process from there on out.   If someone adds an artifact
> to
> a project in a future version, they need to add it to the installer
> definition as well.
> 
> If you have the ability to go pure Wix with your installers, then you can
> break this into manageable chunks using a .wixlib project for each major
> subsystem, and having one parent .msi project link them all together.
> This
> is similar, but superior, to building .msm files and importing those in.
> If your "parent" project is not Wix, then you're stuck in the same boat I
> am, building .msm's.
> 
> Either way you're stuck making manual changes to the .wxs files to keep
> them
> in sync with your project's outputs and required support files.  I
> *really*
> wish this wasn't the case, as the whole point of using an IDE (for me) is
> to
> manage all the grunt work like that, but there are some pretty substantial
> complexities making it a pretty large undertaking that the team just
> hasn't
> gotten to yet.
> 
> Chris
> 
> On Fri, Jul 18, 2008 at 7:53 PM, James Minnis <[EMAIL PROTECTED]>
> wrote:
> 
> > I'm working on a fairly large installer.  It contains roughly 7000 files
> in
> > 165 folders and a total of 670 MB of uncompressed data.  Needless to
> say,
> > I'm generating the files, components, and directories using Heat.
> >
> > Right now, I'm generating a merge module WXS file using Heat and then
> using
> > the Merge and MergeRef elements in my main installer.  This is all
> working
> > correctly.  I have several questions related to this:
> >
> > 1) I want to create shortcuts to several of the files in the merge
> module.
> > I'm doing this currently in a start menu shortcuts component in the main
> > installer.  However, I cannot figure out how to reference the
> directories
> > in
> > the merge module in the main project (I get an empty string when I try
> to
> > reference them like I do the directories in the main installer project).
> > How do I reference the directories?  Or is there a better way to do
> this?
> >
> > 2) The components in the merge module are generated with GUIDs.  If I
> > regenerate the merge module WXS file using Heat (e.g. if I add files),
> > those
> > GUIDs change.  How will this affect patches?  Will the patch recognize
> the
> > files as being the same, or will it consider all of the files changed
> and
> > overwrite everything?  Will I need to add files manually to the merge
> > module
> > WXS file to make patching work correctly?
> >
> > -Jamey
> >
> >
> > ---

Re: [WiX-users] Merge Module Help

2008-07-18 Thread Christopher Karper
I can't really answer intelligently to question #1, as to question #2, I'll
do my best.

Heat is really built for initial import functionality, not continual
maintenance.  You do not want your GUIDs changing on your components with
each build, it will turn upgrades into a nightmare, and will make patching
just about impossible, IMO.   The "suggested" method, is to use heat.exe to
build your .wxs up front, then manually maintain the .wxs file as part of
your development process from there on out.   If someone adds an artifact to
a project in a future version, they need to add it to the installer
definition as well.

If you have the ability to go pure Wix with your installers, then you can
break this into manageable chunks using a .wixlib project for each major
subsystem, and having one parent .msi project link them all together.  This
is similar, but superior, to building .msm files and importing those in.
If your "parent" project is not Wix, then you're stuck in the same boat I
am, building .msm's.

Either way you're stuck making manual changes to the .wxs files to keep them
in sync with your project's outputs and required support files.  I *really*
wish this wasn't the case, as the whole point of using an IDE (for me) is to
manage all the grunt work like that, but there are some pretty substantial
complexities making it a pretty large undertaking that the team just hasn't
gotten to yet.

Chris

On Fri, Jul 18, 2008 at 7:53 PM, James Minnis <[EMAIL PROTECTED]>
wrote:

> I'm working on a fairly large installer.  It contains roughly 7000 files in
> 165 folders and a total of 670 MB of uncompressed data.  Needless to say,
> I'm generating the files, components, and directories using Heat.
>
> Right now, I'm generating a merge module WXS file using Heat and then using
> the Merge and MergeRef elements in my main installer.  This is all working
> correctly.  I have several questions related to this:
>
> 1) I want to create shortcuts to several of the files in the merge module.
> I'm doing this currently in a start menu shortcuts component in the main
> installer.  However, I cannot figure out how to reference the directories
> in
> the merge module in the main project (I get an empty string when I try to
> reference them like I do the directories in the main installer project).
> How do I reference the directories?  Or is there a better way to do this?
>
> 2) The components in the merge module are generated with GUIDs.  If I
> regenerate the merge module WXS file using Heat (e.g. if I add files),
> those
> GUIDs change.  How will this affect patches?  Will the patch recognize the
> files as being the same, or will it consider all of the files changed and
> overwrite everything?  Will I need to add files manually to the merge
> module
> WXS file to make patching work correctly?
>
> -Jamey
>
>
> -
> 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
> WiX-users@lists.sourceforge.net
> 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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users