Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-21 Thread bpackard

I think you can simplify what you have:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD SuppressModularization=yes/

Directory Id=TARGETDIR Name=SourceDir
   Directory Id=MergeRedirectFolder

Component Id=ServiceInstaller Guid=* DiskId=1
  ServiceInstall Id=ServiceInstaller Name=XPedientServiceHost 
  Start=auto ErrorControl=normal
Type=ownProcess
  Account=[SERVICEUSER]
Password=[SERVICEPASSWORD]
  /ServiceInstall
/Component

  /Directory
   /Directory

Then simply pass in on the command line SERVICEUSER and SERVICEPASSWORD. You
should not need the custom actions and multiple properties for the same
elements. You may need to mark the properties as secure to get them to the
execute sequence.

As for using the module configuration, I didn't find it trivial. Here is an
example that reparents an entry in the merge module's directory table with a
property from the msi:

in the merge module you would have:

Configuration Name=SMPRODNAME Format=Key Type=Identifier
DefaultValue=SMPRODNAME
   Description=Start Menu Path DisplayName=Start Menu
Folder/
Substitution Table=Directory Column=Directory_Parent Row=SMHelp
Value=[=SMPRODNAME]/

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=SMHelp Name=Help Documentation ShortName=HELPDOC
/
   ...
/Directory

The configuration updates the directory table changing the parent of the
SMHelp to be the SMPRODNAME property. This happens when the merge module is
imported by the msi. The SMPRODNAME property does not have to be defined
anywhere in the merge module.

hope this helps

-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Passing-Values-from-the-ProductModule-to-a-MergeModule-tp5318970p5321075.html
Sent from the wix-users mailing list archive at Nabble.com.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-21 Thread John Bergman
Even after simplifying, the data was not passed to the merge module.  

I am working on the configuration/substitution nodes now. 

Any idea what the table name would be for the substitution for what I am trying 
to do?  

-Original Message-
From: bpackard [mailto:bill.pack...@kepware.com] 
Sent: Wednesday, July 21, 2010 8:34 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule


I think you can simplify what you have:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD SuppressModularization=yes/

Directory Id=TARGETDIR Name=SourceDir
   Directory Id=MergeRedirectFolder

Component Id=ServiceInstaller Guid=* DiskId=1
  ServiceInstall Id=ServiceInstaller Name=XPedientServiceHost 
  Start=auto ErrorControl=normal
Type=ownProcess
  Account=[SERVICEUSER]
Password=[SERVICEPASSWORD]
  /ServiceInstall
/Component

  /Directory
   /Directory

Then simply pass in on the command line SERVICEUSER and SERVICEPASSWORD. You 
should not need the custom actions and multiple properties for the same 
elements. You may need to mark the properties as secure to get them to the 
execute sequence.

As for using the module configuration, I didn't find it trivial. Here is an 
example that reparents an entry in the merge module's directory table with a 
property from the msi:

in the merge module you would have:

Configuration Name=SMPRODNAME Format=Key Type=Identifier
DefaultValue=SMPRODNAME
   Description=Start Menu Path DisplayName=Start Menu 
Folder/
Substitution Table=Directory Column=Directory_Parent Row=SMHelp
Value=[=SMPRODNAME]/

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=SMHelp Name=Help Documentation ShortName=HELPDOC
/
   ...
/Directory

The configuration updates the directory table changing the parent of the SMHelp 
to be the SMPRODNAME property. This happens when the merge module is imported 
by the msi. The SMPRODNAME property does not have to be defined anywhere in the 
merge module.

hope this helps

--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Passing-Values-from-the-ProductModule-to-a-MergeModule-tp5318970p5321075.html
Sent from the wix-users mailing list archive at Nabble.com.

--
This SF.net email is sponsored by Sprint What will you do first with EVO, the 
first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-21 Thread Blair
I assume Property

-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Wednesday, July 21, 2010 9:51 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

Even after simplifying, the data was not passed to the merge module.  

I am working on the configuration/substitution nodes now. 

Any idea what the table name would be for the substitution for what I am
trying to do?  

-Original Message-
From: bpackard [mailto:bill.pack...@kepware.com] 
Sent: Wednesday, July 21, 2010 8:34 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule


I think you can simplify what you have:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD SuppressModularization=yes/

Directory Id=TARGETDIR Name=SourceDir
   Directory Id=MergeRedirectFolder

Component Id=ServiceInstaller Guid=* DiskId=1
  ServiceInstall Id=ServiceInstaller Name=XPedientServiceHost 
  Start=auto ErrorControl=normal
Type=ownProcess
  Account=[SERVICEUSER]
Password=[SERVICEPASSWORD]
  /ServiceInstall
/Component

  /Directory
   /Directory

Then simply pass in on the command line SERVICEUSER and SERVICEPASSWORD. You
should not need the custom actions and multiple properties for the same
elements. You may need to mark the properties as secure to get them to the
execute sequence.

As for using the module configuration, I didn't find it trivial. Here is an
example that reparents an entry in the merge module's directory table with a
property from the msi:

in the merge module you would have:

Configuration Name=SMPRODNAME Format=Key Type=Identifier
DefaultValue=SMPRODNAME
   Description=Start Menu Path DisplayName=Start Menu
Folder/
Substitution Table=Directory Column=Directory_Parent Row=SMHelp
Value=[=SMPRODNAME]/

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=SMHelp Name=Help Documentation ShortName=HELPDOC
/
   ...
/Directory

The configuration updates the directory table changing the parent of the
SMHelp to be the SMPRODNAME property. This happens when the merge module is
imported by the msi. The SMPRODNAME property does not have to be defined
anywhere in the merge module.

hope this helps

--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Passing-Values
-from-the-ProductModule-to-a-MergeModule-tp5318970p5321075.html
Sent from the wix-users mailing list archive at Nabble.com.


--
This SF.net email is sponsored by Sprint What will you do first with EVO,
the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Passing Values from the ProductModule to a MergeModule - Solved (plus a question for clarification)

2010-07-21 Thread John Bergman
That is what I thought, but I was still having problems.  I have resolve the 
issue for what I need, (at least for now).

In the main product module, you need to declare the properties as follows:

Property Id=DOMAIN SuppressModularization=yes Secure=yes /
Property Id=USER SuppressModularization=yes Secure=yes /
Property Id=PASSWORD SuppressModularization=yes Secure=yes /

Then, in the Merge Module you have to set it up to receive the configuration, 
and map it to the properties, this is what I have in my merge module

Configuration Name=DOMAIN Format=Key Type=Identifier 
DefaultValue=DOMAIN Description=Service Domain DisplayName=Service 
Domain/
Configuration Name=USER Format=Key Type=Identifier 
DefaultValue=USER Description=Service User DisplayName=Service User/
Configuration Name=PASSWORD Format=Key Type=Identifier 
DefaultValue=PASSWORD Description=Service Password DisplayName=Service 
Password/

I was able to use the values in my service installer as follows:

  !-- Install the service --
  ServiceInstall
Id='ServiceInstaller'
Type='ownProcess'
Vital=yes
Name=XPedientServiceHost
DisplayName=My Service
Description=My Service
Start=auto
Account=[DOMAIN]\[USER]
Password=[PASSWORD]
ErrorControl=normal
Interactive=no 
ServiceDependency Id=Eventlog /
util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
  /ServiceInstall

You also have to declare the properties

Property Id=DOMAIN SuppressModularization=yes Secure=yes /
Property Id=USER SuppressModularization=yes Secure=yes /
Property Id=PASSWORD SuppressModularization=yes Secure=yes /


What I was unable to get working is the code that combines the Domain\User in a 
custom action, I suppose this has to do with the  ordering if the CA,

Property Id=PermissionableUser Value=user/
CustomAction Id='SetPermissionableUser' Property='PermissionableUser' 
Value='[DOMAIN]\[USER]' /


InstallExecuteSequence 
  Custom Action='SetPermissionableUser' After='LaunchConditions'/Custom
/InstallExecuteSequence

Can someone comment as to when the CA should execute to have access to the 
imported properties?  The location above does not work because the values are 
still initialized.

(Also, Thanks to everyone that provided pointers, this would be a good 
candidate for the WiX Wiki or tutorial, should someone care to add it).  I 
pruned the rest of the conversation so that this message is uncluttered.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread John Bergman
This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided, it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module because 
it will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
  xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=MergeRedirectFolder
Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

  !-- Install the service --
  ServiceInstall
Id='ServiceInstaller'   Type='ownProcess'   Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
Description=XPedient Services Host  Start=auto
Account=[ServiceUser]
Password=[ServicePassword]
ErrorControl=normal Interactive=no 
ServiceDependency Id=Eventlog /
util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
  /ServiceInstall
/Component
  /Directory
/Directory

Property Id=SERVICEUSER Value=/
Property Id=SERVICEPASSWORD Value= /

Property Id=ServiceUser Value=administrator/
Property Id=ServicePassword Value=password /

CustomAction Id='SetServiceUser' Property='ServiceUser' 
Value='[SERVICEUSER]' /
CustomAction Id='SetServicePassword' Property='ServicePassword' 
Value='[SERVICEPASSWORD]' /

InstallExecuteSequence
  Custom Action='SetServiceUser' After='LaunchConditions'/Custom
  Custom Action='SetServicePassword' After='LaunchConditions'/Custom
/InstallExecuteSequence

  /Module
/Wix



I have tried it with and without the custom action and additional properties.  
I just cannot seem to figure out how to
get the information passed into the merge module; all of the googling I did 
indicated that others had tried, but I was
not able to find any further hints than what I have included within this 
request for help.  I did see that Rob had answered
a similiar problem quite sometime ago but I did not understand his reply about 
using .Module/@Property, and have not been
able to find any sort of information as to how that would work either.

The Product Module looks like this:



?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; 
xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Id=GUID3 Name=  Language=1033 Version=1.4.3.0 
UpgradeCode=GUID4 Manufacturer= 
Package Id=* InstallerVersion=200 Compressed=yes Keywords=  
Description= /
Media Id=1 Cabinet=WindowsService.cab EmbedCab=yes DiskPrompt= 
Installation Media/
Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
Directory Id=XT Name=XT

  !-- WindowsService --
  Directory Id=WINDOWSSERVICE Name=WindowsService

Merge Id='mm.xpj.winservice' Language='1033' 
SourceFile='WindowsService.msm' DiskId='1'
  ConfigurationData Name='SERVICEUSER' 
Value='[XPJDOMAIN]\[XPJUSER]'/
  ConfigurationData Name='SERVICEPASSWORD' 
Value='[XPJPASSWORD]'/
/Merge

 SNIPPED 

!--
**
   Command Line Parameters, and Actions to Retrieve and User them
**
--

!-- Command Line Parameters (and their defaults --
Property Id=XPJDOMAIN Value=XPTDomain /
Property Id=XPJUSER Value=XPTUser /
Property Id=XPJPASSWORD Value=XPTPassword /

!-- Custom Actions used to set the Command Line Parameters to the 
properties used for installation --
CustomAction Id='SetPermissionableUser' Property='PermissionableUser' 
Value='[XPJDOMAIN]\[XPJUSER]' /

!--
**
   Install/Uninstall Actions
**
--

!-- Install/Uninstall Actions --
InstallExecuteSequence
  Custom Action='SetPermissionableUser' After='LaunchConditions'/Custom
  RemoveExistingProducts After=InstallFinalize/RemoveExistingProducts
/InstallExecuteSequence

  /Product
/Wix

--
This SF.net email is sponsored by Sprint
What will you do 

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread Christopher Painter
Modules don't exist in an installer.  Their components are merged and 
associated 
to features and then they go away.   That said, you need to define the property 
elements for ServiceUser and so on in the merge module with no default value 
and 
SuppressModularization attribute set to yes. The rows won't get created in 
the Property table and no property table will likely get created ( unless you 
define other properties with values )  but the compiler will now understand to 
not molest your properties with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided, it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module because 
it 
will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

          !-- Install the service --
          ServiceInstall
            Id='ServiceInstaller'  Type='ownProcess'  Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
            Description=XPedient Services Host  Start=auto
            Account=[ServiceUser]
            Password=[ServicePassword]
            ErrorControl=normal Interactive=no 
            ServiceDependency Id=Eventlog /
            util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
          /ServiceInstall
        /Component
      /Directory
    /Directory

    Property Id=SERVICEUSER Value=/
    Property Id=SERVICEPASSWORD Value= /

    Property Id=ServiceUser Value=administrator/
    Property Id=ServicePassword Value=password /

    CustomAction Id='SetServiceUser' Property='ServiceUser' 
Value='[SERVICEUSER]' /
    CustomAction Id='SetServicePassword' Property='ServicePassword' 
Value='[SERVICEPASSWORD]' /

    InstallExecuteSequence
      Custom Action='SetServiceUser' After='LaunchConditions'/Custom
      Custom Action='SetServicePassword' After='LaunchConditions'/Custom
    /InstallExecuteSequence

  /Module
/Wix



I have tried it with and without the custom action and additional properties.  
I 
just cannot seem to figure out how to
get the information passed into the merge module; all of the googling I did 
indicated that others had tried, but I was
not able to find any further hints than what I have included within this 
request 
for help.  I did see that Rob had answered
a similiar problem quite sometime ago but I did not understand his reply about 
using .Module/@Property, and have not been
able to find any sort of information as to how that would work either.

The Product Module looks like this:



?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; 
xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Id=GUID3 Name=  Language=1033 Version=1.4.3.0 
UpgradeCode=GUID4 Manufacturer= 
    Package Id=* InstallerVersion=200 Compressed=yes Keywords=  
Description= /
    Media Id=1 Cabinet=WindowsService.cab EmbedCab=yes DiskPrompt= 
Installation Media/
    Directory Id='TARGETDIR' Name='SourceDir'
      Directory Id='ProgramFilesFolder' Name='PFiles'
        Directory Id=XT Name=XT

              !-- WindowsService --
              Directory Id=WINDOWSSERVICE Name=WindowsService

                Merge Id='mm.xpj.winservice' Language='1033' 
SourceFile='WindowsService.msm' DiskId='1'
                  ConfigurationData Name='SERVICEUSER' 
Value='[XPJDOMAIN]\[XPJUSER]'/
                  ConfigurationData Name='SERVICEPASSWORD' 
Value='[XPJPASSWORD]'/
                /Merge

 SNIPPED 

    !--
    **
      Command Line Parameters, and Actions to Retrieve and User them

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread John Bergman
Slight Mis-post  In the MergeModule, I have

Property Id=SERVICEUSER Value=DOMAIN/USER/
Property Id=SERVICEPASSWORD Value=PASSWORD /

When I look at the log, I can see that my custom actions inside the merge 
module are working, however, the data is never received from the Product Module 
(Here is the snippet of the log)...

MSI (s) (F4:C0) [18:32:04:396]: Doing action: 
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (F4:C0) [18:32:04:396]: Note: 1: 2205 2:  3: ActionText 
Action start 18:32:04: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (F4:C0) [18:32:04:396]: PROPERTY CHANGE: Modifying 
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value is 
'administrator'. Its new value: 'DOMAIN/USER'.
Action ended 18:32:04: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (F4:C0) [18:32:04:396]: Doing action: 
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (F4:C0) [18:32:04:396]: Note: 1: 2205 2:  3: ActionText 
Action start 18:32:04: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (F4:C0) [18:32:04:397]: PROPERTY CHANGE: Modifying 
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current 
value is 'password'. Its new value: 'PASSWORD'.
Action ended 18:32:04: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.


-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Tuesday, July 20, 2010 6:27 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the problem is that I am having, and when a 
solution or directions are provided, it will provide enough context to help 
others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line of the installer to a 
MergeModule (all in Wix).  It is a Merge Module because it will be provided to 
a customer to embed in their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
  xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=MergeRedirectFolder
Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

  !-- Install the service --
  ServiceInstall
Id='ServiceInstaller'   Type='ownProcess'   Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
Description=XPedient Services Host  Start=auto
Account=[ServiceUser]
Password=[ServicePassword]
ErrorControl=normal Interactive=no 
ServiceDependency Id=Eventlog /
util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
  /ServiceInstall
/Component
  /Directory
/Directory

Property Id=SERVICEUSER Value=/
Property Id=SERVICEPASSWORD Value= /

Property Id=ServiceUser Value=administrator/
Property Id=ServicePassword Value=password /

CustomAction Id='SetServiceUser' Property='ServiceUser' 
Value='[SERVICEUSER]' /
CustomAction Id='SetServicePassword' Property='ServicePassword' 
Value='[SERVICEPASSWORD]' /

InstallExecuteSequence
  Custom Action='SetServiceUser' After='LaunchConditions'/Custom
  Custom Action='SetServicePassword' After='LaunchConditions'/Custom
/InstallExecuteSequence

  /Module
/Wix



I have tried it with and without the custom action and additional properties.  
I just cannot seem to figure out how to get the information passed into the 
merge module; all of the googling I did indicated that others had tried, but I 
was not able to find any further hints than what I have included within this 
request for help.  I did see that Rob had answered a similiar problem quite 
sometime ago but I did not understand his reply about using .Module/@Property, 
and have not been able to find any sort of information as to how that would 
work either.

The Product Module looks like this:



?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; 
xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Id=GUID3 Name=  Language=1033 Version=1.4.3.0 
UpgradeCode=GUID4 Manufacturer= 
Package Id=* InstallerVersion=200 Compressed=yes Keywords=  
Description= /
Media Id=1 Cabinet=WindowsService.cab EmbedCab=yes DiskPrompt= 
Installation Media/
Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread Blair
As Christopher said:

Property Id=SERVICEUSER SuppressModularization=yes /
Property Id=SERVICEPASSWORD SuppressModularization=yes /

-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Tuesday, July 20, 2010 4:42 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

Slight Mis-post  In the MergeModule, I have

Property Id=SERVICEUSER Value=DOMAIN/USER/
Property Id=SERVICEPASSWORD Value=PASSWORD /

When I look at the log, I can see that my custom actions inside the merge
module are working, however, the data is never received from the Product
Module (Here is the snippet of the log)...

MSI (s) (F4:C0) [18:32:04:396]: Doing action:
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (F4:C0) [18:32:04:396]: Note: 1: 2205 2:  3: ActionText 
Action start 18:32:04: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (F4:C0) [18:32:04:396]: PROPERTY CHANGE: Modifying
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value
is 'administrator'. Its new value: 'DOMAIN/USER'.
Action ended 18:32:04: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
Return value 1.
MSI (s) (F4:C0) [18:32:04:396]: Doing action:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (F4:C0) [18:32:04:396]: Note: 1: 2205 2:  3: ActionText 
Action start 18:32:04:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (F4:C0) [18:32:04:397]: PROPERTY CHANGE: Modifying
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current
value is 'password'. Its new value: 'PASSWORD'.
Action ended 18:32:04:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. Return value 1.


-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Tuesday, July 20, 2010 6:27 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to
provide some insight into what the problem is that I am having, and when a
solution or directions are provided, it will provide enough context to help
others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass
some of the parameters received on the command line of the installer to a
MergeModule (all in Wix).  It is a Merge Module because it will be provided
to a customer to embed in their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
  xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

Directory Id=TARGETDIR Name=SourceDir
  Directory Id=MergeRedirectFolder
Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

  !-- Install the service --
  ServiceInstall
Id='ServiceInstaller'   Type='ownProcess'   Vital=yes
Name=XPedientServiceHost  DisplayName=XPedient Services Host
Description=XPedient Services Host  Start=auto
Account=[ServiceUser]
Password=[ServicePassword]
ErrorControl=normal Interactive=no 
ServiceDependency Id=Eventlog /
util:ServiceConfig FirstFailureActionType=restart
SecondFailureActionType=restart ThirdFailureActionType=restart/
  /ServiceInstall
/Component
  /Directory
/Directory

Property Id=SERVICEUSER Value=/
Property Id=SERVICEPASSWORD Value= /

Property Id=ServiceUser Value=administrator/
Property Id=ServicePassword Value=password /

CustomAction Id='SetServiceUser' Property='ServiceUser'
Value='[SERVICEUSER]' /
CustomAction Id='SetServicePassword' Property='ServicePassword'
Value='[SERVICEPASSWORD]' /

InstallExecuteSequence
  Custom Action='SetServiceUser' After='LaunchConditions'/Custom
  Custom Action='SetServicePassword' After='LaunchConditions'/Custom
/InstallExecuteSequence

  /Module
/Wix



I have tried it with and without the custom action and additional
properties.  I just cannot seem to figure out how to get the information
passed into the merge module; all of the googling I did indicated that
others had tried, but I was not able to find any further hints than what I
have included within this request for help.  I did see that Rob had answered
a similiar problem quite sometime ago but I did not understand his reply
about using .Module/@Property, and have not been able to find any sort of
information as to how that would work either.

The Product Module looks like this:



?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
xmlns:util=http

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread John Bergman
The warning is comforting :-()... Warning 6 The 
Property/@SuppressModularization attribute has been set to 'yes'.  Using this 
functionality is strongly discouraged; it should only be necessary as a 
workaround of last resort in rare scenarios.


So I updated the MergeModule as follows:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the 
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action: 
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value is 
'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: 
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current 
value is 'password'.
Action ended 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText
 
-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Modules don't exist in an installer.  Their components are merged and 
associated to features and then they go away.   That said, you need to define 
the property elements for ServiceUser and so on in the merge module with no 
default value and SuppressModularization attribute set to 
yes. The rows won't get created in the Property table and no property table 
will likely get created ( unless you define other properties with values )  but 
the compiler will now understand to not molest your properties with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided, it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module because 
it 
will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

          !-- Install the service --
          ServiceInstall
            Id='ServiceInstaller'  Type='ownProcess'  Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
            Description=XPedient Services Host  Start=auto
            Account=[ServiceUser]
            Password=[ServicePassword]
            ErrorControl=normal Interactive=no 
            ServiceDependency Id=Eventlog /
            util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
          /ServiceInstall
        /Component
      /Directory
    /Directory

    Property Id=SERVICEUSER Value=/
    Property Id=SERVICEPASSWORD Value= /

    Property Id=ServiceUser Value=administrator/
    Property Id=ServicePassword Value=password /

    CustomAction Id='SetServiceUser' Property='ServiceUser' 
Value='[SERVICEUSER]' /
    CustomAction Id='SetServicePassword' Property='ServicePassword' 
Value='[SERVICEPASSWORD]' /

    InstallExecuteSequence
      Custom Action='SetServiceUser' After='LaunchConditions

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread Blair
Try the Configuration element under Module, and use the ConfigurationData
element under Merge to hook it up.

-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Tuesday, July 20, 2010 5:17 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

The warning is comforting :-()... Warning 6 The
Property/@SuppressModularization attribute has been set to 'yes'.  Using
this functionality is strongly discouraged; it should only be necessary as a
workaround of last resort in rare scenarios.


So I updated the MergeModule as follows:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action:
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value
is 'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current
value is 'password'.
Action ended 19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText
 
-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

Modules don't exist in an installer.  Their components are merged and
associated to features and then they go away.   That said, you need to
define the property elements for ServiceUser and so on in the merge module
with no default value and SuppressModularization attribute set to
yes. The rows won't get created in the Property table and no property
table will likely get created ( unless you define other properties with
values )  but the compiler will now understand to not molest your properties
with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided,
it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass
some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module
because it 
will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

          !-- Install the service --
          ServiceInstall
            Id='ServiceInstaller'  Type='ownProcess'  Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
            Description=XPedient Services Host  Start=auto
            Account=[ServiceUser]
            Password=[ServicePassword]
            ErrorControl=normal Interactive=no 
            ServiceDependency Id=Eventlog /
            util:ServiceConfig FirstFailureActionType=restart 
SecondFailureActionType=restart ThirdFailureActionType=restart/
          /ServiceInstall
        /Component
      /Directory
    /Directory

    Property Id=SERVICEUSER Value=/
    Property Id=SERVICEPASSWORD Value= /

    Property Id

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread Blair
You probably also need the Substitution element (to hook the Configuration
values into the Property table entries from your module).

See the following pages on MSDN:
http://msdn.microsoft.com/library/aa368027.aspx
http://msdn.microsoft.com/library/aa370045.aspx
http://msdn.microsoft.com/library/aa370052.aspx

-Original Message-
From: Blair [mailto:os...@live.com] 
Sent: Tuesday, July 20, 2010 5:33 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

Try the Configuration element under Module, and use the ConfigurationData
element under Merge to hook it up.

-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com] 
Sent: Tuesday, July 20, 2010 5:17 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

The warning is comforting :-()... Warning 6 The
Property/@SuppressModularization attribute has been set to 'yes'.  Using
this functionality is strongly discouraged; it should only be necessary as a
workaround of last resort in rare scenarios.


So I updated the MergeModule as follows:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action:
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value
is 'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current
value is 'password'.
Action ended 19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText
 
-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a
MergeModule

Modules don't exist in an installer.  Their components are merged and
associated to features and then they go away.   That said, you need to
define the property elements for ServiceUser and so on in the merge module
with no default value and SuppressModularization attribute set to
yes. The rows won't get created in the Property table and no property
table will likely get created ( unless you define other properties with
values )  but the compiler will now understand to not molest your properties
with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided,
it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass
some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module
because it 
will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

          !-- Install the service --
          ServiceInstall
            Id='ServiceInstaller'  Type='ownProcess'  Vital=yes  
Name=XPedientServiceHost

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread Christopher Painter
Do you redistribute your merge modules or are they only used inside your 
organization to assist in distributed development?  If the answer is the 
latter, 
you can safely ignore this message.  I've been doing so for 5 years with no 
down 
sides.
 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 7:16:43 PM
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

The warning is comforting :-()... Warning 6 The 
Property/@SuppressModularization 
attribute has been set to 'yes'.  Using this functionality is strongly 
discouraged; it should only be necessary as a workaround of last resort in rare 
scenarios.


So I updated the MergeModule as follows:

    Property Id=SERVICEUSER SuppressModularization=yes/
    Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the 
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action: 
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value is 
'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: 
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current 
value 
is 'password'.
Action ended 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText

-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Modules don't exist in an installer.  Their components are merged and 
associated 
to features and then they go away.   That said, you need to define the property 
elements for ServiceUser and so on in the merge module with no default value 
and 
SuppressModularization attribute set to yes. The rows won't get created in 
the Property table and no property table will likely get created ( unless you 
define other properties with values )  but the compiler will now understand to 
not molest your properties with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided, it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module because 
it 

will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id='component_WindowsService' Guid=GUID1 DiskId='1'

          !-- Install the service --
          ServiceInstall
            Id='ServiceInstaller'  Type='ownProcess'  Vital=yes  
Name=XPedientServiceHost  DisplayName=XPedient Services Host
            Description=XPedient Services Host  Start=auto
            Account=[ServiceUser]
            Password=[ServicePassword]
            ErrorControl=normal Interactive

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread John Bergman
Currently it is internally used, but I expect that this particular merge module 
will be used by the client to customize their install as well.

-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 9:22 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Do you redistribute your merge modules or are they only used inside your 
organization to assist in distributed development?  If the answer is the 
latter, you can safely ignore this message.  I've been doing so for 5 years 
with no down sides.
 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 7:16:43 PM
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

The warning is comforting :-()... Warning 6 The 
Property/@SuppressModularization 
attribute has been set to 'yes'.  Using this functionality is strongly 
discouraged; it should only be necessary as a workaround of last resort in rare 
scenarios.


So I updated the MergeModule as follows:

    Property Id=SERVICEUSER SuppressModularization=yes/
    Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the 
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action: 
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value is 
'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: 
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText 
Action start 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current 
value 
is 'password'.
Action ended 19:14:54: SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. 
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText

-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Modules don't exist in an installer.  Their components are merged and 
associated 
to features and then they go away.   That said, you need to define the property 
elements for ServiceUser and so on in the merge module with no default value 
and 
SuppressModularization attribute set to yes. The rows won't get created in 
the Property table and no property table will likely get created ( unless you 
define other properties with values )  but the compiler will now understand to 
not molest your properties with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the
problem is that I am having, and when a solution or directions are provided, it 
will provide enough context to
help others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line
of the installer to a MergeModule (all in Wix).  It is a Merge Module because 
it 

will be provided to a customer to embed in
their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
      xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Module Id=MM.WindowService Language=1033 Version=1.0.0.0
    Package Id=GUID2 InstallerVersion=200  Manufacturer=  /

    Directory Id=TARGETDIR Name=SourceDir
      Directory Id=MergeRedirectFolder
        Component Id

Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

2010-07-20 Thread John Bergman
Sorry to be a bit dense, where/how would the markup look for the substitution 
element?  I get it goes with the Module, (I assume the merge module), but I to 
get what the values would be in my case.  

After I have it working, I'll post again so that others can see how this ended 
up

-Original Message-
From: Blair [mailto:os...@live.com] 
Sent: Tuesday, July 20, 2010 8:04 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

You probably also need the Substitution element (to hook the Configuration 
values into the Property table entries from your module).

See the following pages on MSDN:
http://msdn.microsoft.com/library/aa368027.aspx
http://msdn.microsoft.com/library/aa370045.aspx
http://msdn.microsoft.com/library/aa370052.aspx

-Original Message-
From: Blair [mailto:os...@live.com]
Sent: Tuesday, July 20, 2010 5:33 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Try the Configuration element under Module, and use the ConfigurationData 
element under Merge to hook it up.

-Original Message-
From: John Bergman [mailto:john.berg...@xpedienttechnologies.com]
Sent: Tuesday, July 20, 2010 5:17 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

The warning is comforting :-()... Warning 6 The 
Property/@SuppressModularization attribute has been set to 'yes'.  Using this 
functionality is strongly discouraged; it should only be necessary as a 
workaround of last resort in rare scenarios.


So I updated the MergeModule as follows:

Property Id=SERVICEUSER SuppressModularization=yes/
Property Id=SERVICEPASSWORD  SuppressModularization=yes/

But I am still not receiving the values,  here is the relevant part of the 
log... any other ideas?

MSI (s) (84:AC) [19:14:54:752]: Doing action:
SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:752]: Note: 1: 2205 2:  3: ActionText Action start 
19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current value is 
'administrator'.
Action ended 19:14:54: SetServiceUser.06C528FC_89E0_48C7_B32F_50DEAF36899F.
Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F
MSI (s) (84:AC) [19:14:54:753]: Note: 1: 2205 2:  3: ActionText Action start 
19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F.
MSI (s) (84:AC) [19:14:54:753]: PROPERTY CHANGE: Deleting 
ServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F property. Its current 
value is 'password'.
Action ended 19:14:54:
SetServicePassword.06C528FC_89E0_48C7_B32F_50DEAF36899F. Return value 1.
MSI (s) (84:AC) [19:14:54:753]: Doing action: SetAppDBDatabase MSI (s) (84:AC) 
[19:14:54:753]: Note: 1: 2205 2:  3: ActionText
 
-Original Message-
From: Christopher Painter [mailto:chr...@deploymentengineering.com]
Sent: Tuesday, July 20, 2010 6:34 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Passing Values from the ProductModule to a MergeModule

Modules don't exist in an installer.  Their components are merged and 
associated to features and then they go away.   That said, you need to define 
the property elements for ServiceUser and so on in the merge module with no 
default value and SuppressModularization attribute set to 
yes. The rows won't get created in the Property table and no property table 
will likely get created ( unless you define other properties with values )  but 
the compiler will now understand to not molest your properties with GUIDs.

 
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



- Original Message 
From: John Bergman john.berg...@xpedienttechnologies.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Tue, July 20, 2010 6:26:55 PM
Subject: [WiX-users] Passing Values from the ProductModule to a MergeModule

This post is a little long, but hopefully it provides enough information to 
provide some insight into what the problem is that I am having, and when a 
solution or directions are provided, it will provide enough context to help 
others who may have the same requirement later.

I have been struggling with this for more than a day now.  I need to pass some 
of the parameters received on the command line of the installer to a 
MergeModule (all in Wix).  It is a Merge Module because it will be provided to 
a customer to embed in their installers as well.

Basically The Merge Module consists of a service, as follows (Pruned):

?xml version=1.0 encoding=UTF-8