Re: [WiX-users] custom actions after reboot

2011-03-10 Thread Matthew Slane
Thanks,

I'll take a look at bootstrapping.

http://msdn.microsoft.com/en-us/library/aa367553.aspx gave me the
impression that after the forecereboot, the installer would be
relaunched and I could then perform the queue set up, hence trying to
perform the MSMQ stuff before installing any files.

-Original Message-
From: David Watson [mailto:dwat...@sdl.com] 
Sent: 09 March 2011 17:20
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] custom actions after reboot

Put a launch condition in that cancels your installation if msmq is not
installed.

If you really need to install msmq for your user use a bootstrapper that
installs it before your msi is called.

-Original Message-
From: Matthew Slane [mailto:matthew.sl...@thetrainline.com] 
Sent: 09 March 2011 16:58
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] custom actions after reboot

Hi, 

I'm getting a bit frustrated with constantly rebooting to try and get
this working.

If MSMQ is installed the queue gets created.  If MSMQ isn't installed,
it gets installed and throws the following message before forcing the
reboot:

The installer has encountered an unexpected error installing this
package. This may indicate a problem with the package.  The Error code
is 28101.

I'm using an wsx file based on the tutorial at
www.tramontana.co.hu/wix/lesson1.php

I need to force the reboot and then install the msmqueues component if
MSMQ gets installed.

?xml version='1.0' encoding='windows-1252'?
Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:pca=http://schemas.microsoft.com/wix/MsmqExtension;
 xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Name='Foobar 1.0' Id='{D657286E-E865-43e3-B6F3-F37A0AC032BB}'
UpgradeCode='{F4FD13DB-B92B-4e4d-A6F6-35DFCA877DC2}'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Acme
Ltd.'

Package Id='*' Keywords='Installer' Description=Acme's Foobar 1.0
Installer
  Comments='Foobar is a registered trademark of Acme Ltd.'
Manufacturer='Acme Ltd.'
  InstallerVersion='100' Languages='1033' Compressed='yes'
SummaryCodepage='1252' /
Media Id='1' Cabinet='App.cab' EmbedCab='yes' /

util:User Domain='.' Name='Administrator' Id='myuser'/

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
Directory Id='INSTALLDIR' Name='Acme'
  Component Id='doc1'
Guid='{18E8D982-4958-492b-AAAC-CD9AABF4E0B9}'
File Id='d1' Name='1stdoc.txt' DiskId='1'
Source='1stdoc.txt' KeyPath='yes'/
  /Component
  Component Id='msmqueues'
Guid='{95B2735A-6014-4e16-AD23-70F1BF6A844E}' KeyPath='yes'
pca:MessageQueue Id='testqueue' Label='testqueue'
Transactional='yes'
  PathName='.\Private$\testqueue'
  pca:MessageQueuePermission Id='distqueupermission'
ReceiveMessage='yes' User='myuser'/
/pca:MessageQueue
  /Component
/Directory
  /Directory
/Directory

Property Id=msmqcontainer Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Container /norestart'/
Property Id=msmqserver Value='dism.exe /online /Enable-Feature
/FeatureName:MSMQ-Server /norestart'/
Property Id=msmqmulticast Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Multicast /norestart'/

CustomAction Id=msmqcontainer
  BinaryKey=WixCA
  DllEntry=CAQuietExec
  Execute=deferred
  Return='check'
  /

CustomAction Id=msmqserver
 BinaryKey=WixCA
 DllEntry=CAQuietExec
 Execute='deferred'
 Return='check'/

CustomAction Id=msmqmulticast
BinaryKey=WixCA
DllEntry=CAQuietExec
Execute='deferred'
Return='check'/

Feature Id='Complete' Level='1'
  Feature Id='one' Level='1'
ComponentRef Id='doc1'/
  /Feature
  Feature Id='MSMQqueues' Level='1'
ComponentRef Id='msmqueues'/ComponentRef
Condition Level='0'NOT MSMQAVAILABLE/Condition
  /Feature
/Feature

Property Id='MSMQAVAILABLE'
  RegistrySearch Id=MSMQIsInstalled
   Root=HKLM
   Key=System\CurrentControlSet\Services\MSMQ
   Name=ImagePath
  Type=raw /
/Property

InstallExecuteSequence
  Custom Action=msmqcontainer After=InstallFiles NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqserver After=msmqcontainer NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqmulticast After=msmqserver NOT
MSMQAVAILABLE/Custom
  ForceReboot After='msmqmulticast'
NOT MSMQAVAILABLE
  /ForceReboot
/InstallExecuteSequence
  /Product
/Wix


-Original Message-
From: Matthew Slane [mailto:matthew.sl...@thetrainline.com] 
Sent: 04 March 2011 10:22
To: wix

Re: [WiX-users] custom actions after reboot

2011-03-09 Thread Matthew Slane
Hi, 

I'm getting a bit frustrated with constantly rebooting to try and get
this working.

If MSMQ is installed the queue gets created.  If MSMQ isn't installed,
it gets installed and throws the following message before forcing the
reboot:

The installer has encountered an unexpected error installing this
package. This may indicate a problem with the package.  The Error code
is 28101.

I'm using an wsx file based on the tutorial at
www.tramontana.co.hu/wix/lesson1.php

I need to force the reboot and then install the msmqueues component if
MSMQ gets installed.

?xml version='1.0' encoding='windows-1252'?
Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:pca=http://schemas.microsoft.com/wix/MsmqExtension;
 xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Name='Foobar 1.0' Id='{D657286E-E865-43e3-B6F3-F37A0AC032BB}'
UpgradeCode='{F4FD13DB-B92B-4e4d-A6F6-35DFCA877DC2}'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Acme
Ltd.'

Package Id='*' Keywords='Installer' Description=Acme's Foobar 1.0
Installer
  Comments='Foobar is a registered trademark of Acme Ltd.'
Manufacturer='Acme Ltd.'
  InstallerVersion='100' Languages='1033' Compressed='yes'
SummaryCodepage='1252' /
Media Id='1' Cabinet='App.cab' EmbedCab='yes' /

util:User Domain='.' Name='Administrator' Id='myuser'/

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
Directory Id='INSTALLDIR' Name='Acme'
  Component Id='doc1'
Guid='{18E8D982-4958-492b-AAAC-CD9AABF4E0B9}'
File Id='d1' Name='1stdoc.txt' DiskId='1'
Source='1stdoc.txt' KeyPath='yes'/
  /Component
  Component Id='msmqueues'
Guid='{95B2735A-6014-4e16-AD23-70F1BF6A844E}' KeyPath='yes'
pca:MessageQueue Id='testqueue' Label='testqueue'
Transactional='yes'
  PathName='.\Private$\testqueue'
  pca:MessageQueuePermission Id='distqueupermission'
ReceiveMessage='yes' User='myuser'/
/pca:MessageQueue
  /Component
/Directory
  /Directory
/Directory

Property Id=msmqcontainer Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Container /norestart'/
Property Id=msmqserver Value='dism.exe /online /Enable-Feature
/FeatureName:MSMQ-Server /norestart'/
Property Id=msmqmulticast Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Multicast /norestart'/

CustomAction Id=msmqcontainer
  BinaryKey=WixCA
  DllEntry=CAQuietExec
  Execute=deferred
  Return='check'
  /

CustomAction Id=msmqserver
 BinaryKey=WixCA
 DllEntry=CAQuietExec
 Execute='deferred'
 Return='check'/

CustomAction Id=msmqmulticast
BinaryKey=WixCA
DllEntry=CAQuietExec
Execute='deferred'
Return='check'/

Feature Id='Complete' Level='1'
  Feature Id='one' Level='1'
ComponentRef Id='doc1'/
  /Feature
  Feature Id='MSMQqueues' Level='1'
ComponentRef Id='msmqueues'/ComponentRef
Condition Level='0'NOT MSMQAVAILABLE/Condition
  /Feature
/Feature

Property Id='MSMQAVAILABLE'
  RegistrySearch Id=MSMQIsInstalled
   Root=HKLM
   Key=System\CurrentControlSet\Services\MSMQ
   Name=ImagePath
  Type=raw /
/Property

InstallExecuteSequence
  Custom Action=msmqcontainer After=InstallFiles NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqserver After=msmqcontainer NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqmulticast After=msmqserver NOT
MSMQAVAILABLE/Custom
  ForceReboot After='msmqmulticast'
NOT MSMQAVAILABLE
  /ForceReboot
/InstallExecuteSequence
  /Product
/Wix


-Original Message-
From: Matthew Slane [mailto:matthew.sl...@thetrainline.com] 
Sent: 04 March 2011 10:22
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] custom actions after reboot

Hi,

 

I've got a property that checks whether MSMQ is available and custom
actions to install it if it isn't.  I've also got MsmqExtension working
to create queues.  I haven't got them working together.  The installer
works nicely if MSMQ is already installed, otherwise it installs the
program but throws 28101 error messages and the queues arent' created.
Looking at the logs this appears to be caused by failing to load
mqrt.dll.  I suspect this is because the machine needs rebooting after
installing MSMQ.  

 

How would I go about creating the queues post-reboot if MSMQ is
installed when running the msi?  I could do it on start up in the
programs that are installed, but I'm meant to be in feature freeze until
after first release, plus I'm curious.

 

Thanks

 

Matt.

The information in this email (and any attachments) is confidential

Re: [WiX-users] custom actions after reboot

2011-03-09 Thread David Watson
Put a launch condition in that cancels your installation if msmq is not
installed.

If you really need to install msmq for your user use a bootstrapper that
installs it before your msi is called.

-Original Message-
From: Matthew Slane [mailto:matthew.sl...@thetrainline.com] 
Sent: 09 March 2011 16:58
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] custom actions after reboot

Hi, 

I'm getting a bit frustrated with constantly rebooting to try and get
this working.

If MSMQ is installed the queue gets created.  If MSMQ isn't installed,
it gets installed and throws the following message before forcing the
reboot:

The installer has encountered an unexpected error installing this
package. This may indicate a problem with the package.  The Error code
is 28101.

I'm using an wsx file based on the tutorial at
www.tramontana.co.hu/wix/lesson1.php

I need to force the reboot and then install the msmqueues component if
MSMQ gets installed.

?xml version='1.0' encoding='windows-1252'?
Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:pca=http://schemas.microsoft.com/wix/MsmqExtension;
 xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;

  Product Name='Foobar 1.0' Id='{D657286E-E865-43e3-B6F3-F37A0AC032BB}'
UpgradeCode='{F4FD13DB-B92B-4e4d-A6F6-35DFCA877DC2}'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Acme
Ltd.'

Package Id='*' Keywords='Installer' Description=Acme's Foobar 1.0
Installer
  Comments='Foobar is a registered trademark of Acme Ltd.'
Manufacturer='Acme Ltd.'
  InstallerVersion='100' Languages='1033' Compressed='yes'
SummaryCodepage='1252' /
Media Id='1' Cabinet='App.cab' EmbedCab='yes' /

util:User Domain='.' Name='Administrator' Id='myuser'/

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
Directory Id='INSTALLDIR' Name='Acme'
  Component Id='doc1'
Guid='{18E8D982-4958-492b-AAAC-CD9AABF4E0B9}'
File Id='d1' Name='1stdoc.txt' DiskId='1'
Source='1stdoc.txt' KeyPath='yes'/
  /Component
  Component Id='msmqueues'
Guid='{95B2735A-6014-4e16-AD23-70F1BF6A844E}' KeyPath='yes'
pca:MessageQueue Id='testqueue' Label='testqueue'
Transactional='yes'
  PathName='.\Private$\testqueue'
  pca:MessageQueuePermission Id='distqueupermission'
ReceiveMessage='yes' User='myuser'/
/pca:MessageQueue
  /Component
/Directory
  /Directory
/Directory

Property Id=msmqcontainer Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Container /norestart'/
Property Id=msmqserver Value='dism.exe /online /Enable-Feature
/FeatureName:MSMQ-Server /norestart'/
Property Id=msmqmulticast Value='dism.exe /online
/Enable-Feature /FeatureName:MSMQ-Multicast /norestart'/

CustomAction Id=msmqcontainer
  BinaryKey=WixCA
  DllEntry=CAQuietExec
  Execute=deferred
  Return='check'
  /

CustomAction Id=msmqserver
 BinaryKey=WixCA
 DllEntry=CAQuietExec
 Execute='deferred'
 Return='check'/

CustomAction Id=msmqmulticast
BinaryKey=WixCA
DllEntry=CAQuietExec
Execute='deferred'
Return='check'/

Feature Id='Complete' Level='1'
  Feature Id='one' Level='1'
ComponentRef Id='doc1'/
  /Feature
  Feature Id='MSMQqueues' Level='1'
ComponentRef Id='msmqueues'/ComponentRef
Condition Level='0'NOT MSMQAVAILABLE/Condition
  /Feature
/Feature

Property Id='MSMQAVAILABLE'
  RegistrySearch Id=MSMQIsInstalled
   Root=HKLM
   Key=System\CurrentControlSet\Services\MSMQ
   Name=ImagePath
  Type=raw /
/Property

InstallExecuteSequence
  Custom Action=msmqcontainer After=InstallFiles NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqserver After=msmqcontainer NOT
MSMQAVAILABLE/Custom
  Custom Action=msmqmulticast After=msmqserver NOT
MSMQAVAILABLE/Custom
  ForceReboot After='msmqmulticast'
NOT MSMQAVAILABLE
  /ForceReboot
/InstallExecuteSequence
  /Product
/Wix


-Original Message-
From: Matthew Slane [mailto:matthew.sl...@thetrainline.com] 
Sent: 04 March 2011 10:22
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] custom actions after reboot

Hi,

 

I've got a property that checks whether MSMQ is available and custom
actions to install it if it isn't.  I've also got MsmqExtension working
to create queues.  I haven't got them working together.  The installer
works nicely if MSMQ is already installed, otherwise it installs the
program but throws 28101 error messages and the queues arent' created.
Looking at the logs this appears to be caused by failing to load