Discussion:
Installing MSMQ unattended failing on XP SP2 and SP3
(too old to reply)
JBaker
2008-06-17 16:41:03 UTC
Permalink
We are running an unattended installation of MSMQ for Vista, and Windows XP
(SP2 and SP3). Utilizing Sysocmgr and answer files we are always successfull
on Vista, however with XP it almost always results in a critical error. The
error dialog states
"System stand-alone Optional Component Manager has encountered a problem and
needs to close. We are sorry for the inconvenience". The actual error report
dialog when accessed has some additional information:
EventType: BEX P1: sysocmgr.exx P2: 5.1.2600.2180 P3: 41107cbf P4:
msmqocm.dll P5: 5.1.0.1108 P6: 41109731 P7: 000101fa P8: c0000409 P9: 00000000

Here is the details on our execution:

From the command line (batch file): Sysocmgr.exe /i:sysoc.inf
/u:Unattended_MSMQ_Pre-Vista.ans

Unattended_MSMQ_Pre-Vista.ans file contents shown here:

[Version]
Signature = "$Windows NT$"

[Global]
FreshMode = Custom
MaintenanceMode = RemoveAll
UpgradeMode = UpgradeOnly

[Components]
msmq_Core = ON
msmq_LocalStorage = ON
;msmq_ADIntegrated = ON
msmq_TriggersService = ON
;msmq_HTTPSupport = ON
;msmq_RoutingSupport = OFF
;msmq_MQDSService = OFF

;[Msmq]
;ControllerServer = MyDomainController
;SupportingServer = MyDomainControllerOrRoutingServer
;SupportLocalAccountsOrNT4 = FALSE
;Site = DefaultFirstSiteName


Additionally - the MSMQ installation never fails when done manually from the
Control Panel - Add/Remove windows components.

I'm hoping someone has seen this before and can guide us in how to overcome
it.

Thanks
j
Frank Boyne
2008-06-17 23:35:46 UTC
Permalink
Post by JBaker
"System stand-alone Optional Component Manager has encountered a problem and
needs to close. We are sorry for the inconvenience". The actual error report
msmqocm.dll P5: 5.1.0.1108 P6: 41109731 P7: 000101fa P8: c0000409 P9: 00000000
I'm not sure this helps any, but you seem to be suffering from a buffer
overrun problem. The P8 value C0000409 is STATUS_STACK_BUFFER_OVERRUN
(see ntstatus.h).

The following page is for Windows Server 2003 not XP but it covers some
of the details of understanding the error report information
http://technet2.microsoft.com/windowsserver/en/library/b0de1052-4101-44c3-a294-4da1bd1ef2271033.mspx

The version number 5.1.0.1108 (p5) seems good, at least that's the
version of msmqocm.dll in XP SP2 so you appear to be working with the
msmqocm.dll that you should be working with.
http://support.microsoft.com/dllhelp/default.aspx?l=55&fid=214069

Which is all find and good but leaves us none the wiser since we don't
know why you are getting buffer oveflow exceptions.

Typically, we'd expect bad data passed into the program to be causing
the program to run off the end of a 'buffer' corrupting the stack and
triggering the /GS compiler switch protection. In your case though, the
input is your answer file and the .inf file. I don't know sysocmgr well
enought to syntax check your answer file reliably, but it looks okay.

Is there anything unusual about the contents of your sysoc.inf file?
Post by JBaker
I'm hoping someone has seen this before and can guide us in how to overcome
it.
All I can suggest is that you experiment by simplifying your answer file
and your inf file and see if the problem goes away. For example, you
could delete all comment lines and remove all component lines except
msmq_Core. Not useful as a real life answer file but probably the
minimal answer file that invokes MSMQ. Does that bare minimum also
fail?

If that minimal answer file still fails, you could try renaming it to
something short and simple (like foo.ans or foo.txt). That change
shouldn't make a difference, but it does seem like we are hunting a bug
here and bugs can happen anywhere.
John Breakwell (MSFT)
2008-06-18 10:01:41 UTC
Permalink
Hi J,

{{Just copying the text of my reply to your microsoft.public.msmq.deployment
post.}}

The useful troubleshooting information is "P8: c0000409"

ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a
stack-based buffer in this application.

So the install is being passed data that is too large for a buffer it has
created.
There is a bug in msmqocm.dll which means it cannot handle a directory path
over 100 bytes long.
Could you please check what the location of the source files resolves to?

Cheers
John Breakwell (MSFT)
Post by JBaker
We are running an unattended installation of MSMQ for Vista, and Windows XP
(SP2 and SP3). Utilizing Sysocmgr and answer files we are always successfull
on Vista, however with XP it almost always results in a critical error. The
error dialog states
"System stand-alone Optional Component Manager has encountered a problem and
needs to close. We are sorry for the inconvenience". The actual error report
msmqocm.dll P5: 5.1.0.1108 P6: 41109731 P7: 000101fa P8: c0000409 P9: 00000000
From the command line (batch file): Sysocmgr.exe /i:sysoc.inf
/u:Unattended_MSMQ_Pre-Vista.ans
[Version]
Signature = "$Windows NT$"
[Global]
FreshMode = Custom
MaintenanceMode = RemoveAll
UpgradeMode = UpgradeOnly
[Components]
msmq_Core = ON
msmq_LocalStorage = ON
;msmq_ADIntegrated = ON
msmq_TriggersService = ON
;msmq_HTTPSupport = ON
;msmq_RoutingSupport = OFF
;msmq_MQDSService = OFF
;[Msmq]
;ControllerServer = MyDomainController
;SupportingServer = MyDomainControllerOrRoutingServer
;SupportLocalAccountsOrNT4 = FALSE
;Site = DefaultFirstSiteName
Additionally - the MSMQ installation never fails when done manually from the
Control Panel - Add/Remove windows components.
I'm hoping someone has seen this before and can guide us in how to overcome
it.
Thanks
j
JBaker
2008-06-18 16:15:01 UTC
Permalink
Thank you John (and Frank) for replying...

John's analysis was right on the money. Our path was > 100 bytes long. We
reduced it to under that and now it is working like a charm!

Thanks!
J
Post by John Breakwell (MSFT)
Hi J,
{{Just copying the text of my reply to your microsoft.public.msmq.deployment
post.}}
The useful troubleshooting information is "P8: c0000409"
ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a
stack-based buffer in this application.
So the install is being passed data that is too large for a buffer it has
created.
There is a bug in msmqocm.dll which means it cannot handle a directory path
over 100 bytes long.
Could you please check what the location of the source files resolves to?
Cheers
John Breakwell (MSFT)
Post by JBaker
We are running an unattended installation of MSMQ for Vista, and Windows XP
(SP2 and SP3). Utilizing Sysocmgr and answer files we are always successfull
on Vista, however with XP it almost always results in a critical error. The
error dialog states
"System stand-alone Optional Component Manager has encountered a problem and
needs to close. We are sorry for the inconvenience". The actual error report
msmqocm.dll P5: 5.1.0.1108 P6: 41109731 P7: 000101fa P8: c0000409 P9: 00000000
From the command line (batch file): Sysocmgr.exe /i:sysoc.inf
/u:Unattended_MSMQ_Pre-Vista.ans
[Version]
Signature = "$Windows NT$"
[Global]
FreshMode = Custom
MaintenanceMode = RemoveAll
UpgradeMode = UpgradeOnly
[Components]
msmq_Core = ON
msmq_LocalStorage = ON
;msmq_ADIntegrated = ON
msmq_TriggersService = ON
;msmq_HTTPSupport = ON
;msmq_RoutingSupport = OFF
;msmq_MQDSService = OFF
;[Msmq]
;ControllerServer = MyDomainController
;SupportingServer = MyDomainControllerOrRoutingServer
;SupportLocalAccountsOrNT4 = FALSE
;Site = DefaultFirstSiteName
Additionally - the MSMQ installation never fails when done manually from the
Control Panel - Add/Remove windows components.
I'm hoping someone has seen this before and can guide us in how to overcome
it.
Thanks
j
John Breakwell (MSFT)
2008-06-19 10:07:34 UTC
Permalink
Thanks for confirming.
I've blogged the error to get to solution out there while I'm chasing up a
KB article.
Please let me know if the Blog content has any mistakes in it.

http://blogs.msdn.com/johnbreakwell/archive/2008/06/19/an-unattended-setup-of-msmq-on-windows-xp-fails-if-the-source-path-is-100-characters-long.aspx

Cheers
John
Post by JBaker
Thank you John (and Frank) for replying...
John's analysis was right on the money. Our path was > 100 bytes long. We
reduced it to under that and now it is working like a charm!
Thanks!
J
Post by John Breakwell (MSFT)
Hi J,
{{Just copying the text of my reply to your
microsoft.public.msmq.deployment
post.}}
The useful troubleshooting information is "P8: c0000409"
ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a
stack-based buffer in this application.
So the install is being passed data that is too large for a buffer it has
created.
There is a bug in msmqocm.dll which means it cannot handle a directory path
over 100 bytes long.
Could you please check what the location of the source files resolves to?
Cheers
John Breakwell (MSFT)
Post by JBaker
We are running an unattended installation of MSMQ for Vista, and
Windows
XP
(SP2 and SP3). Utilizing Sysocmgr and answer files we are always successfull
on Vista, however with XP it almost always results in a critical error. The
error dialog states
"System stand-alone Optional Component Manager has encountered a
problem
and
needs to close. We are sorry for the inconvenience". The actual error report
msmqocm.dll P5: 5.1.0.1108 P6: 41109731 P7: 000101fa P8: c0000409 P9: 00000000
From the command line (batch file): Sysocmgr.exe /i:sysoc.inf
/u:Unattended_MSMQ_Pre-Vista.ans
[Version]
Signature = "$Windows NT$"
[Global]
FreshMode = Custom
MaintenanceMode = RemoveAll
UpgradeMode = UpgradeOnly
[Components]
msmq_Core = ON
msmq_LocalStorage = ON
;msmq_ADIntegrated = ON
msmq_TriggersService = ON
;msmq_HTTPSupport = ON
;msmq_RoutingSupport = OFF
;msmq_MQDSService = OFF
;[Msmq]
;ControllerServer = MyDomainController
;SupportingServer = MyDomainControllerOrRoutingServer
;SupportLocalAccountsOrNT4 = FALSE
;Site = DefaultFirstSiteName
Additionally - the MSMQ installation never fails when done manually
from
the
Control Panel - Add/Remove windows components.
I'm hoping someone has seen this before and can guide us in how to overcome
it.
Thanks
j
Loading...