A quick newbie question... I am part of a small team
working on an application and we are considering making
use of MSMQ. However the application is intended to be
installed on clients that probably will not have MSMQ
already installed (we are targeting XP for now, but hope
to make it deployable on Win98 and NT boxes as well).
My question is, is there a redistributable version of MSMQ
that we can package with our app, for those machines that
don't have it installed? Or can MSMQ only be installed as
part of the O/S setup? If the latter, is there a way to
trigger the installation of MSMQ by the O/S so that the
users of our software don't have to worry about doing this
themselves? (Note: I am *not* talking about a corporate
intranet install; this app is meant to be installed by
John Q. Public).
Either way, if you can also tell me which version(s) of
Windows either approach works for that would be
appreciated.
Thanks!
Phil
Only Microsof could answer that officially, but unofficially - No.
> Or can MSMQ only be installed as
> part of the O/S setup?
That's my understanding. MSMQ is an OS Component just like Freecell or
Networking Services. You can only install it from the OS CD. At least
that's true for MSMQ 2.0 and above (Windows 2000 and above). MSMQ 1.0
was released after NT 4.0 shipped, so MSMQ 1.0 is installed from
something called the NT Option pack, but that's still considered an OS
CD of sorts.
> If the latter, is there a way to
> trigger the installation of MSMQ by the O/S so that the
> users of our software don't have to worry about doing this
> themselves?
I think what you want to look into is unattended install. You would
still need the customer to insert their OS CD into their CD drive at the
appropriate moment, but you could use the unattended install file to
respond to setup so the customer didn't have to answer a lot of
questions.
> Either way, if you can also tell me which version(s) of
> Windows either approach works for that would be
> appreciated.
I believe there are unattended install variations for all the OS
versions around (at least as far back as NT 4.0 which is the first MSMQ
capable OS).
Thanks for the answers! (BTW, according to the MS
website, MSMQ 1.0 is available for 95 and 98 as well -
which I hope is true!).
Thanks again,
Phil
>.
>
Oops, sorry. I tend to focus on Servers 'cause they're the interesting
bits but yes MSMQ Client runs on everything from Windows 95 upwards.
The Option Pack installs on 95, 98 and probably Me (but I couldn't swear
to that). Then Windows 2000 Pro and XP have an MSMQ component just like
the Windows 2000 servers. I vaguely remember the Option Pack for
95/98/NT 4.0 Workstation etc was called something like "Personal Web
Server" even though much of it was nothing to do with serving web pages.
Also IIRC the Server Option Pack had instructions for how to create an
install share from the server CD that workstation etc could use to
install MSMQ Client.
So if I'm developing a shrink-wrap application targeted at the average user,
I really can't use MSMQ because there's no way to get it reliably installed
without confusing the hell out of the user.
Seems like an omission on MSFT's part. Why no redist? I noticed that there
seems to be more support for installing MSMQ under CE!
"Frank Boyne" <frank...@unisys.com> wrote in message
news:uA4$8ovNDH...@TK2MSFTNGP10.phx.gbl...
Thanks, Doron
--
This posting is provided "AS IS" with no warranties, and confers no rights.
.
"James O." <ms...@tanagra.com> wrote in message
news:%234xStw6...@TK2MSFTNGP11.phx.gbl...
"Doron Juster [MSFT]" <Dor...@Online.Microsoft.com> wrote in message
news:eGRU1d%23ODH...@TK2MSFTNGP10.phx.gbl...
MSMQ is not available on XP home edition. Only on professional.
Thanks, Doron
Running Message Queuing unattended setup
You can use Windows unattended setup to install Message Queuing software by
remotely using an answer file. This file should be located either in the
Message Queuing installation folder on the source computer from which you
are running unattended setup or in the Windows system folder (typically
C:\Windows) on the target computer on which you are installing Message
Queuing.
During Message Queuing unattended setup, no text or dialog boxes are
displayed. Errors are logged to the Msmqinst.log file located in the Windows
system folder (typically C:\Windows) of the target computer.
Because the name of an online Message Queuing server is required for some
installation types, it is easiest to create and run separate unattended
setup scripts for computers in each Windows 2000 site. You can use a single
script file for multiple sites, but if you do so, you must create separate
file entries for each computer that is not in the specified (default) site.
To run Message Queuing unattended setup, type the following command at the
command prompt in the Windows system folder:
sysocmgr.exe /i:sysoc.inf /u:path and file name of answer fileAnswer file
entries
The answer file specifies various installation settings. The applicable
settings for Message Queuing are described below.
Setup looks in the [Components] section to determine what to do for each of
the Message Queuing subcomponents. In this section ON means to install the
subcomponent, and OFF means to uninstall it, while the absence of an entry
means that the state of the subcomponent will not be changed. The keys
appearing in entries in this section are as follows:
msmq_Core
An msmq_Core = ON entry calls for installation of the Core subcomponent,
which performs the most fundamental setup operations: creates and sets
registry keys, and provides dependent client functionality. It is mandatory,
if you want to install Message Queuing. To install a dependent client, you
must specify a supporting server. The supporting server can be any Message
Queuing server operating in domain mode with at least independent client
functionality, preferably in the local site, but also in a nearby site.
Specify its name using the SupportingServer key in the [msmq] section. No
additional subcomponents can be installed on a dependent client. To perform
an unattended uninstallation of Message Queuing software, include the entry
msmq_Core = OFF. All message and log files are removed when Message Queuing
is uninstalled. However, no Message Queuing files are removed from the
\Windows\System32 and \Windows\System32\Drivers folders.
msmq_LocalStorage
An msmq_LocalStorage = ON entry calls for installation of the Local Storage
subcomponent, which installs the Message Queuing service and provides
independent client functionality. This entry is mandatory, if you are
installing any additional subcomponent. Local Storage cannot be installed
without the Core subcomponent. Thus, if you are installing Local Storage,
there is no need to include an msmq_Core = ON entry. This subcomponent will
be installed automatically. After the Local Storage subcomponent is
installed, it cannot be removed without completely uninstalling Message
Queuing.
msmq_ADIntegrated
The entry msmq_ADIntegrated = ON calls for installation of the Active
Directory Integration subcomponent, which creates an msmq object and (if
needed) an MSMQ Setting object in Active Directory and thereby provides
integration with Active Directory whenever the computer belongs to a domain.
If you want to use a specific domain controller, you must specify it using
the ControllerServer key in the [msmq] section. Active Directory Integration
cannot be installed without the Core and Local Storage subcomponents. Thus,
if you are installing Active Directory Integration, there is no need to
include msmq_Core = ON and msmq_LocalStorage = ON entries. The applicable
subcomponents will be installed automatically.
You can include an msmq_ADIntegrated = ON entry if you are installing
Message Queuing in a workgroup environment or any environment that does not
have access to Active Directory. In this case, the ControllerServer entry is
ignored and the computer will never attempt to connect to a domain
controller to access Active Directory. Such a computer requires direct
connectivity to other computers to send and receive messages. This entry is
applicable only if you are installing a configuration with independent
client functionality on a non-domain controller.
msmq_TriggersService
This key specifies whether the Message Queuing Triggers service will be
installed. If you include an msmq_TriggersService = ON entry, it will be
installed. Conversely, if you include an msmq_TriggersService = OFF entry,
it will be removed. Setting this key equal to ON is equivalent to selecting
the Triggers subcomponent during the installation of Message Queuing with
independent client functionality. Thus, if you are installing Triggers,
there is no need to include msmq_Core = ON and msmq_LocalStorage = ON
entries. These subcomponents will be installed automatically.
msmq_HTTPSupport
This key specifies whether MSMQ HTTP Support, which installs Internet
Information Services (IIS) and creates an IIS extension for Message Queuing
(MSMQ), will be installed. If the answer file includes an msmq_HTTPSupport =
ON entry, an IIS extension will be created. Conversely, if you include an
msmq_HTTPSupport = OFF entry, the extension will be removed. MSMQ HTTP
Support cannot be installed without the Core and Local Storage
subcomponents. Thus, if you are installing MSMQ HTTP Support, there is no
need to include msmq_Core = ON and msmq_LocalStorage = ON entries. The
applicable subcomponets will be installed automatically.
The keys appearing in entries in the [msmq] section are as follows:
ControllerServer
This key is set equal to the NetBIOS or DNS name of the Windows XP or
Windows 2000 domain controller with which the independent client or routing
server being installed on a domain computer should communicate in the
specified site when msmq_ADIntegrated is set equal to ON. You may not have
to specify this entry. Setup will try to find a suitable domain controller
through AD.lib automatically. If it fails, however, unattended setup will
not continue. If an entry is specified, unattended setup will use the entry
and will not attempt to find the computer automatically.
Do not include an entry with this key if you are installing Message Queuing
on a domain controller.
SupportingServer
This key is set equal the NetBIOS or DNS name of a Message Queuing server
that will be used to support the dependent client being installed. This
entry is required when you are creating a dependent client.
ServerAuthenticationOnly
This key can be set equal to TRUE or FALSE, the default being FALSE. Include
a ServerAuthenticationOnly = TRUE entry only for clients that will
communicate with MSMQ 1.0 controller servers running Windows NT 4.0 and that
will need to authenticate such servers. This key has no meaning when Message
Queuing is being installed on a domain controller.
Site
Include a line with this key if you are installing a Message Queuing routing
server. Setup may not be able to automatically resolve the proper site if
subnets in your network are not configured correctly. In such a case, this
entry becomes mandatory. Set the key equal to the name of the default Active
Directory site containing the domain controller with which this server will
communicate.
Sample answer file
You can use the following sample answer file as a template. Use a text
editor to appropriately edit the entries.
Notes
a.. Unattended setup ignores any file entries that begin with a semicolon
(;). You can use these to place comments in your answer file.
[Version]
Signature = "$Windows NT$"
[Global]
FreshMode = Custom
MaintenanceMode = RemoveAll
UpgradeMode = UpgradeOnly
[Components]
msmq_Core = ON | OFF
msmq_LocalStorage = ON | OFF
msmq_ADIntegrated = ON | OFF
msmq_TriggersService = ON | OFF
msmq_HTTPSupport = ON | OFF
[Msmq]
ControllerServer = MyDomainController
SupportingServer = MyDomainControllerOrRoutingServer
ServerAuthenticationOnly = FALSE | TRUE
Site = DefaultFirstSiteName
Be sure to test your unattended setup script before deployment.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
.
"James O." <ms...@tanagra.com> wrote in message
news:OE0jZS$ODHA...@TK2MSFTNGP11.phx.gbl...
Before we go write our own library, I'd like to know if there's some other
lightweight queue technology we can use for single-workstation IPC (don't
need all the networked queue stuff. Just want a process to process
producer/consumer).
-James
"Doron Juster [MSFT]" <Dor...@Online.Microsoft.com> wrote in message
news:OcKE$%23jPDH...@TK2MSFTNGP10.phx.gbl...