Wix 3.0 Merge Module

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Wix 3.0 Merge Module

wixman
I am trying to write a Wix 3.0 merge module that an .msi can put
wherever it wants. I would like a directory structure like this:

c:\Program Files\myCompany\myProd

What is happening is that all of the files in the merge module are
written to c:\.

Here is the merge module:

<Module Id="myMM" Language="1033" Version="1.0.0.0">
    <Package Id="xxx" Manufacturer="yyy" InstallerVersion="200" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="MergeRedirectFolder" FileSource="."/>
        <Component Id="myC" Guid="zzz">
          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
        </Component>
      </Directory>
    </Directory>
</Module>

and here is the .msi:

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="myCompany" Name="myCompany">
          <Directory Id="myProd" Name="myProd">
            <Merge Id="myMM" Language="1033" SourceFile="myMM.msm"
DiskId="1"></Merge>
          </Directory>
        </Directory>
      </Directory>
    </Directory>
    <Feature Id="myFeat" Title="myFeat" Level="1">
      <MergeRef Id="myMM"/>
    </Feature>
  </Product>

Why doesn't the merge module assume the directory structure of the .msi?
Is "MergeRedirectFolder" still relevant in Wix 3.0?
If you answer this post, can you please mention the reference you used
so that I can try to be more independent?

Thanks.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

robmen
It should work. Did you look at the Directory table in the resulting MSI in
Orca and see that the MergeRedirectFolder did not have "myProd" as it's
parent?

On Sun, Jun 6, 2010 at 7:39 AM, Tzvi Tafet <[hidden email]> wrote:

> I am trying to write a Wix 3.0 merge module that an .msi can put
> wherever it wants. I would like a directory structure like this:
>
> c:\Program Files\myCompany\myProd
>
> What is happening is that all of the files in the merge module are
> written to c:\.
>
> Here is the merge module:
>
> <Module Id="myMM" Language="1033" Version="1.0.0.0">
>    <Package Id="xxx" Manufacturer="yyy" InstallerVersion="200" />
>    <Directory Id="TARGETDIR" Name="SourceDir">
>      <Directory Id="MergeRedirectFolder" FileSource="."/>
>        <Component Id="myC" Guid="zzz">
>          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
>        </Component>
>      </Directory>
>    </Directory>
> </Module>
>
> and here is the .msi:
>
>    <Directory Id="TARGETDIR" Name="SourceDir">
>      <Directory Id="ProgramFilesFolder">
>        <Directory Id="myCompany" Name="myCompany">
>          <Directory Id="myProd" Name="myProd">
>            <Merge Id="myMM" Language="1033" SourceFile="myMM.msm"
> DiskId="1"></Merge>
>          </Directory>
>        </Directory>
>      </Directory>
>    </Directory>
>    <Feature Id="myFeat" Title="myFeat" Level="1">
>      <MergeRef Id="myMM"/>
>    </Feature>
>  </Product>
>
> Why doesn't the merge module assume the directory structure of the .msi?
> Is "MergeRedirectFolder" still relevant in Wix 3.0?
> If you answer this post, can you please mention the reference you used
> so that I can try to be more independent?
>
> Thanks.
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

wixman
Hi Rob,

I looked at the Directory table of the resulting MSI with SuperOrca
and MergeRedirectFolder's Directory_Parent = "myProd".

The problem was the sample I sent you did not replicate a bug that I
had in the real merge module. I prematurely closed a directory.

But now that we are on the topic, could you please look at:

http://odd-staff.blogspot.com/2010/05/wix-meaning-of-mergeredirectfolder.html

and comment on the need for MergeRedirectFolder? The example given in
the WiX documentation

http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm

does not relate to MergeRedirectFolder. Is MergeRedirectFolder no
longer relevant?

Thank you.

On Sun, Jun 6, 2010 at 7:28 PM, Rob Mensching <[hidden email]> wrote:

> It should work. Did you look at the Directory table in the resulting MSI in
> Orca and see that the MergeRedirectFolder did not have "myProd" as it's
> parent?
>
> On Sun, Jun 6, 2010 at 7:39 AM, Tzvi Tafet <[hidden email]> wrote:
>
>> I am trying to write a Wix 3.0 merge module that an .msi can put
>> wherever it wants. I would like a directory structure like this:
>>
>> c:\Program Files\myCompany\myProd
>>
>> What is happening is that all of the files in the merge module are
>> written to c:\.
>>
>> Here is the merge module:
>>
>> <Module Id="myMM" Language="1033" Version="1.0.0.0">
>>    <Package Id="xxx" Manufacturer="yyy" InstallerVersion="200" />
>>    <Directory Id="TARGETDIR" Name="SourceDir">
>>      <Directory Id="MergeRedirectFolder" FileSource="."/>
>>        <Component Id="myC" Guid="zzz">
>>          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
>>        </Component>
>>      </Directory>
>>    </Directory>
>> </Module>
>>
>> and here is the .msi:
>>
>>    <Directory Id="TARGETDIR" Name="SourceDir">
>>      <Directory Id="ProgramFilesFolder">
>>        <Directory Id="myCompany" Name="myCompany">
>>          <Directory Id="myProd" Name="myProd">
>>            <Merge Id="myMM" Language="1033" SourceFile="myMM.msm"
>> DiskId="1"></Merge>
>>          </Directory>
>>        </Directory>
>>      </Directory>
>>    </Directory>
>>    <Feature Id="myFeat" Title="myFeat" Level="1">
>>      <MergeRef Id="myMM"/>
>>    </Feature>
>>  </Product>
>>
>> Why doesn't the merge module assume the directory structure of the .msi?
>> Is "MergeRedirectFolder" still relevant in Wix 3.0?
>> If you answer this post, can you please mention the reference you used
>> so that I can try to be more independent?
>>
>> Thanks.
>>
>>
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>> lucky parental unit.  See the prize list and enter to win:
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> WiX-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>>
>
>
> --
> virtually, Rob Mensching - http://RobMensching.com LLC
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

Jaxon
Hi,

I hate to dig up an old thread, but I'm having the same problem as the OP, but I'm using InstallShield 11 Pro (InstallScript MSI Project).

My Wix 3.5 merge module is already installed to C:\ and for the life of me I can't figure out why.

Any hints, suggestions, etc. would be greatly appreciated!

-Robj
-Rob_J
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

Christopher Painter
I think you just asked this question on my blog and if so, I answered the question there.    Basically you have to assocate the MergeRediretFolder with INSTALLDIR when you add the module reference to your InstallShield project.   Otherwise it'll take the default that Windows Installer provides ( the root folder of the local fixed volume with the most space; typically c:\ )


---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me

From: Jaxon <[hidden email]>
To: [hidden email]
Sent: Saturday, July 2, 2011 10:49 AM
Subject: Re: [WiX-users] Wix 3.0 Merge Module

Hi,

I hate to dig up an old thread, but I'm having the same problem as the OP,
but I'm using InstallShield 11 Pro (InstallScript MSI Project).

My Wix 3.5 merge module is already installed to C:\ and for the life of me I
can't figure out why.

Any hints, suggestions, etc. would be greatly appreciated!

-Robj

-----
-Rob_J
--
View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541079.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

Jaxon
Yes, I did and thanks for the response.

I was able to figure it out seeing a response to a question you posted on StackOverflow.com: http://stackoverflow.com/questions/2272216/installshield-12-changing-the-destination-of-a-merge-module-at-run-time

I had forgot I could right click on the merge module in InstallShield and set the desired destination:

image.png

Again, thanks for the response and keep up the fountain of invaluable information that pours from your blog, SA, and everywhere else you spread it.

You should write a book on, "How to extend InstallShield with Wix"  I bet you'd see 10,000 copies in the 1st month!

You're a God send for developers who have to write their own installers!  I might work on a project for 6 months to a year then be required to write an installer for it.  I litterally, forget all the InstallShield skills and have to relearn them which sucks by the way.

Thanks, again!

-Rob



On Sat, Jul 2, 2011 at 2:39 PM, Christopher Painter [via Windows Installer XML (WiX) toolset] <[hidden email]> wrote:
I think you just asked this question on my blog and if so, I answered the question there.    Basically you have to assocate the MergeRediretFolder with INSTALLDIR when you add the module reference to your InstallShield project.   Otherwise it'll take the default that Windows Installer provides ( the root folder of the local fixed volume with the most space; typically c:\ )


---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me

From: Jaxon <[hidden email]>
To: [hidden email]
Sent: Saturday, July 2, 2011 10:49 AM
Subject: Re: [WiX-users] Wix 3.0 Merge Module

Hi,

I hate to dig up an old thread, but I'm having the same problem as the OP,
but I'm using InstallShield 11 Pro (InstallScript MSI Project).

My Wix 3.5 merge module is already installed to C:\ and for the life of me I
can't figure out why.

Any hints, suggestions, etc. would be greatly appreciated!

-Robj

-----
-Rob_J
--
View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541079.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]

If you reply to this email, your message will be added to the discussion below:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541400.html
To unsubscribe from Wix 3.0 Merge Module, click here.

-Rob_J
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

Christopher Painter
I'm glad that I've been able to help.  However I don't think it would sell many copies.  I don't seem to be making any friends at either Microsoft or Flexera by not picking one over the other.  I can't help it though as blending the two makes sense for my customers.


---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me

From: Jaxon <[hidden email]>
To: [hidden email]
Sent: Saturday, July 2, 2011 2:20 PM
Subject: Re: [WiX-users] Wix 3.0 Merge Module

Yes, I did and thanks for the response.

I was able to figure it out seeing a response to a question you posted on
StackOverflow.com:
http://stackoverflow.com/questions/2272216/installshield-12-changing-the-destination-of-a-merge-module-at-run-time

I had forgot I could right click on the merge module in InstallShield and
set the desired destination:

[image: image.png]

Again, thanks for the response and keep up the fountain of invaluable
information that pours from your blog, SA, and everywhere else you spread
it.

You should write a book on, "How to extend InstallShield with Wix"  I bet
you'd see 10,000 copies in the 1st month!

You're a God send for developers who have to write their own installers!  I
might work on a project for 6 months to a year then be required to write an
installer for it.  I litterally, forget all the InstallShield skills and
have to relearn them which sucks by the way.

Thanks, again!

-Rob


On Sat, Jul 2, 2011 at 2:39 PM, Christopher Painter [via Windows Installer
XML (WiX) toolset] <[hidden email]> wrote:

> I think you just asked this question on my blog and if so, I answered the
> question there.    Basically you have to assocate the MergeRediretFolder
> with INSTALLDIR when you add the module reference to your InstallShield
> project.  Otherwise it'll take the default that Windows Installer provides
> ( the root folder of the local fixed volume with the most space; typically
> c:\ )
>
>
> ---
> Christopher Painter, Author of Deployment Engineering Blog
> Have a hot tip, know a secret or read a really good thread that deserves
> attention? E-Mail Me
>
> From: Jaxon <[hidden email]<http://user/SendEmail.jtp?type=node&node=6541400&i=0>>
>
> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=6541400&i=1>
> Sent: Saturday, July 2, 2011 10:49 AM
> Subject: Re: [WiX-users] Wix 3.0 Merge Module
>
> Hi,
>
> I hate to dig up an old thread, but I'm having the same problem as the OP,
> but I'm using InstallShield 11 Pro (InstallScript MSI Project).
>
> My Wix 3.5 merge module is already installed to C:\ and for the life of me
> I
> can't figure out why.
>
> Any hints, suggestions, etc. would be greatly appreciated!
>
> -Robj
>
> -----
> -Rob_J
> --
> View this message in context:
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541079.html
> Sent from the wix-users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
>
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________
> WiX-users mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=6541400&i=2>
> https://lists.sourceforge.net/lists/listinfo/wix-users
> ------------------------------------------------------------------------------
>
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2d-c2
> _______________________________________________
> WiX-users mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=6541400&i=3>
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541400.html
>  To unsubscribe from Wix 3.0 Merge Module, click here<
>
>


-----
-Rob_J
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-3-0-Merge-Module-tp5145587p6541479.html
Sent from the wix-users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

robmen
In reply to this post by wixman
PS: MergeRedirectFolder isn't a special name or anything. It's just what the
template calls the Directory that is parented to TARGETDIR and thus can be
retargeted by the merge process.  The gory details are spelled out in the
MSI SDK: http://msdn.microsoft.com/en-us/library/aa367787(v=VS.85).aspx

On Mon, Jun 7, 2010 at 12:02 AM, Tzvi Tafet <[hidden email]> wrote:

> Hi Rob,
>
> I looked at the Directory table of the resulting MSI with SuperOrca
> and MergeRedirectFolder's Directory_Parent = "myProd".
>
> The problem was the sample I sent you did not replicate a bug that I
> had in the real merge module. I prematurely closed a directory.
>
> But now that we are on the topic, could you please look at:
>
>
> http://odd-staff.blogspot.com/2010/05/wix-meaning-of-mergeredirectfolder.html
>
> and comment on the need for MergeRedirectFolder? The example given in
> the WiX documentation
>
> http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm
>
> does not relate to MergeRedirectFolder. Is MergeRedirectFolder no
> longer relevant?
>
> Thank you.
>
> On Sun, Jun 6, 2010 at 7:28 PM, Rob Mensching <[hidden email]>
> wrote:
> > It should work. Did you look at the Directory table in the resulting MSI
> in
> > Orca and see that the MergeRedirectFolder did not have "myProd" as it's
> > parent?
> >
> > On Sun, Jun 6, 2010 at 7:39 AM, Tzvi Tafet <[hidden email]> wrote:
> >
> >> I am trying to write a Wix 3.0 merge module that an .msi can put
> >> wherever it wants. I would like a directory structure like this:
> >>
> >> c:\Program Files\myCompany\myProd
> >>
> >> What is happening is that all of the files in the merge module are
> >> written to c:\.
> >>
> >> Here is the merge module:
> >>
> >> <Module Id="myMM" Language="1033" Version="1.0.0.0">
> >>    <Package Id="xxx" Manufacturer="yyy" InstallerVersion="200" />
> >>    <Directory Id="TARGETDIR" Name="SourceDir">
> >>      <Directory Id="MergeRedirectFolder" FileSource="."/>
> >>        <Component Id="myC" Guid="zzz">
> >>          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
> >>        </Component>
> >>      </Directory>
> >>    </Directory>
> >> </Module>
> >>
> >> and here is the .msi:
> >>
> >>    <Directory Id="TARGETDIR" Name="SourceDir">
> >>      <Directory Id="ProgramFilesFolder">
> >>        <Directory Id="myCompany" Name="myCompany">
> >>          <Directory Id="myProd" Name="myProd">
> >>            <Merge Id="myMM" Language="1033" SourceFile="myMM.msm"
> >> DiskId="1"></Merge>
> >>          </Directory>
> >>        </Directory>
> >>      </Directory>
> >>    </Directory>
> >>    <Feature Id="myFeat" Title="myFeat" Level="1">
> >>      <MergeRef Id="myMM"/>
> >>    </Feature>
> >>  </Product>
> >>
> >> Why doesn't the merge module assume the directory structure of the .msi?
> >> Is "MergeRedirectFolder" still relevant in Wix 3.0?
> >> If you answer this post, can you please mention the reference you used
> >> so that I can try to be more independent?
> >>
> >> Thanks.
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> >> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> >> lucky parental unit.  See the prize list and enter to win:
> >> http://p.sf.net/sfu/thinkgeek-promo
> >> _______________________________________________
> >> WiX-users mailing list
> >> [hidden email]
> >> https://lists.sourceforge.net/lists/listinfo/wix-users
> >>
> >>
> >
> >
> > --
> > virtually, Rob Mensching - http://RobMensching.com LLC
> >
> ------------------------------------------------------------------------------
> > ThinkGeek and WIRED's GeekDad team up for the Ultimate
> > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> > lucky parental unit.  See the prize list and enter to win:
> > http://p.sf.net/sfu/thinkgeek-promo
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Wix 3.0 Merge Module

Christopher Painter
Since this thread was about generating a MSM in WiX and consuming it in InstallShield I wanted to point out some behavior differences in WiX and InstallShield as it relates to ModuleDependencies.
 
WiX:  Module dependencies are informative only.  They don't constitute an implicit MergeRef  and will fail the build if an explicit MergeRef for the Id doesn't exist where a ModuleDependency indicates one is needed.
 
InstallShield:  Module dependencies are implicit MergeRefs with one nasty little behavior:  The module's retargetable directory will not be retargetted.  The first module that you explictly added and retargetted it's directory will not cascade down to the dependency modules that are implicitly added.
 
The work around is a prebuild step to scan your dependencies and reauthor them via the automation interface  or a postbuild step to rewrite the MSI as if the modules had been associated correctly.
 
 
---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me

From: Rob Mensching <[hidden email]>
To: General discussion for Windows Installer XML toolset. <[hidden email]>
Sent: Monday, July 4, 2011 12:25 PM
Subject: Re: [WiX-users] Wix 3.0 Merge Module

PS: MergeRedirectFolder isn't a special name or anything. It's just what the
template calls the Directory that is parented to TARGETDIR and thus can be
retargeted by the merge process.  The gory details are spelled out in the
MSI SDK: http://msdn.microsoft.com/en-us/library/aa367787(v=VS.85).aspx

On Mon, Jun 7, 2010 at 12:02 AM, Tzvi Tafet <[hidden email]> wrote:

> Hi Rob,
>
> I looked at the Directory table of the resulting MSI with SuperOrca
> and MergeRedirectFolder's Directory_Parent = "myProd".
>
> The problem was the sample I sent you did not replicate a bug that I
> had in the real merge module. I prematurely closed a directory.
>
> But now that we are on the topic, could you please look at:
>
>
> http://odd-staff.blogspot.com/2010/05/wix-meaning-of-mergeredirectfolder.html
>
> and comment on the need for MergeRedirectFolder? The example given in
> the WiX documentation
>
> http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm
>
> does not relate to MergeRedirectFolder. Is MergeRedirectFolder no
> longer relevant?
>
> Thank you.
>
> On Sun, Jun 6, 2010 at 7:28 PM, Rob Mensching <[hidden email]>
> wrote:
> > It should work. Did you look at the Directory table in the resulting MSI
> in
> > Orca and see that the MergeRedirectFolder did not have "myProd" as it's
> > parent?
> >
> > On Sun, Jun 6, 2010 at 7:39 AM, Tzvi Tafet <[hidden email]> wrote:
> >
> >> I am trying to write a Wix 3.0 merge module that an .msi can put
> >> wherever it wants. I would like a directory structure like this:
> >>
> >> c:\Program Files\myCompany\myProd
> >>
> >> What is happening is that all of the files in the merge module are
> >> written to c:\.
> >>
> >> Here is the merge module:
> >>
> >> <Module Id="myMM" Language="1033" Version="1.0.0.0">
> >>    <Package Id="xxx" Manufacturer="yyy" InstallerVersion="200" />
> >>    <Directory Id="TARGETDIR" Name="SourceDir">
> >>      <Directory Id="MergeRedirectFolder" FileSource="."/>
> >>        <Component Id="myC" Guid="zzz">
> >>          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
> >>        </Component>
> >>      </Directory>
> >>    </Directory>
> >> </Module>
> >>
> >> and here is the .msi:
> >>
> >>    <Directory Id="TARGETDIR" Name="SourceDir">
> >>      <Directory Id="ProgramFilesFolder">
> >>        <Directory Id="myCompany" Name="myCompany">
> >>          <Directory Id="myProd" Name="myProd">
> >>            <Merge Id="myMM" Language="1033" SourceFile="myMM.msm"
> >> DiskId="1"></Merge>
> >>          </Directory>
> >>        </Directory>
> >>      </Directory>
> >>    </Directory>
> >>    <Feature Id="myFeat" Title="myFeat" Level="1">
> >>      <MergeRef Id="myMM"/>
> >>    </Feature>
> >>  </Product>
> >>
> >> Why doesn't the merge module assume the directory structure of the .msi?
> >> Is "MergeRedirectFolder" still relevant in Wix 3.0?
> >> If you answer this post, can you please mention the reference you used
> >> so that I can try to be more independent?
> >>
> >> Thanks.
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> >> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> >> lucky parental unit.  See the prize list and enter to win:
> >> http://p.sf.net/sfu/thinkgeek-promo
> >> _______________________________________________
> >> WiX-users mailing list
> >> [hidden email]
> >> https://lists.sourceforge.net/lists/listinfo/wix-users
> >>
> >>
> >
> >
> > --
> > virtually, Rob Mensching - http://RobMensching.com LLC
> >
> ------------------------------------------------------------------------------
> > ThinkGeek and WIRED's GeekDad team up for the Ultimate
> > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> > lucky parental unit.  See the prize list and enter to win:
> > http://p.sf.net/sfu/thinkgeek-promo
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users