Hans-Jürgen Philippi
2007-06-19 08:05:31 UTC
Hi all,
recently I was looking for the "official" way to have MSMQ running on the
target PCs that will execute .NET applications using MSMQ messaging.
Surprisingly, our installation tool of choice (InstallShield 12) does not
offer a simple option to have this prerequisite covered.
Searching the web I found out that one solution for the task is to run the
Windows System Component Manager (sysocmgr.exe) automatically during the
setup with handing over an instruction file that contains some directives,
eliminating the need for user interaction.
My next idea was to create a single batch file that contains the
sysocmgr.exe command line call as well as the mentioned component
directives. After some testing, my batch file resulted in the following
contents:
;@ECHO OFF
;sysocmgr.exe /i:sysoc.inf /u:MSMQsetup.bat
;GOTO Finished
[Components]
msmq_Core = ON
msmq_LocalStorage = ON
msmq_ADIntegrated = ON
msmq_TriggersService = ON
msmq_HTTPSupport = OFF
msmq_RoutingSupport = OFF
msmq_MQDSService = OFF
;:Finished
If you save the 14 lines above as a file named 'MSMQsetup.bat', a double
click on it will install MSMQ immediately (tailored to our needs with MSMQ
running in workgroup mode). A neat trick is that a semicolon ; is treated
like a blank space by cmd.exe and does not affect the command lines whilst
it suitably marks them as comments for sysocmgr.exe!
The batch file is to be included in the InstallShield setup project to
trigger the required MSMQ installation and I want to be sure that I did not
disregard anything. So I'd appreciate to get your opinion on the chosen way
to install MSMQ - maybe you want to try it on a MSMQ-free machine yourself,
or tell me how you'd do it a different/better way?
Thanks for your assistance,
greetings
Hans
recently I was looking for the "official" way to have MSMQ running on the
target PCs that will execute .NET applications using MSMQ messaging.
Surprisingly, our installation tool of choice (InstallShield 12) does not
offer a simple option to have this prerequisite covered.
Searching the web I found out that one solution for the task is to run the
Windows System Component Manager (sysocmgr.exe) automatically during the
setup with handing over an instruction file that contains some directives,
eliminating the need for user interaction.
My next idea was to create a single batch file that contains the
sysocmgr.exe command line call as well as the mentioned component
directives. After some testing, my batch file resulted in the following
contents:
;@ECHO OFF
;sysocmgr.exe /i:sysoc.inf /u:MSMQsetup.bat
;GOTO Finished
[Components]
msmq_Core = ON
msmq_LocalStorage = ON
msmq_ADIntegrated = ON
msmq_TriggersService = ON
msmq_HTTPSupport = OFF
msmq_RoutingSupport = OFF
msmq_MQDSService = OFF
;:Finished
If you save the 14 lines above as a file named 'MSMQsetup.bat', a double
click on it will install MSMQ immediately (tailored to our needs with MSMQ
running in workgroup mode). A neat trick is that a semicolon ; is treated
like a blank space by cmd.exe and does not affect the command lines whilst
it suitably marks them as comments for sysocmgr.exe!
The batch file is to be included in the InstallShield setup project to
trigger the required MSMQ installation and I want to be sure that I did not
disregard anything. So I'd appreciate to get your opinion on the chosen way
to install MSMQ - maybe you want to try it on a MSMQ-free machine yourself,
or tell me how you'd do it a different/better way?
Thanks for your assistance,
greetings
Hans