Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

msxml4 merge module problems

100 views
Skip to first unread message

Phil

unread,
Sep 22, 2003, 10:09:56 AM9/22/03
to
Hi
I am getting errors on an extremely clean Windows XP when
trying to install an MSI file I created that includes
msxmlsxs32.msm. I am logged into the machine as a Power
User and do not really want to expect users to logon as an
Administrator in order to install.

I've seen few postings in Google groups for similar errors
but I have not seen if there is a resolution for this.

Here is an exert from my install log file:
MSI (s) (60:E0): Executing op: SetTargetFolder
(Folder=C:\WINDOWS\System32\SXS\)
MSI (s) (60:E0): Executing op: SetSourceFolder(Folder=1
\Windows\System32\SXS\)
MSI (s) (60:E0): Executing op: AssemblyCopy
(SourceName=msxml4.man|msxml4.Manifest,SourceCabKey=msxml4.
Manifest.sxs.2E8D8EBB_CC16_45E1_BBCA_CB1ED881EDB7,DestName=
msxml4.Manifest,Attributes=512,FileSize=3478,PerTick=32768,
,VerifyMedia=1,,,,,ComponentId={303
994BA-6487-47AE-AF1D-7AF6088EEBDB},IsManifest=1,,,)
MSI (s) (60:E0): Assembly Error:Access is denied.

MSI (s) (60:E0): Note: 1: 1935 2: {303994BA-6487-47AE-AF1D-
7AF6088EEBDB} 3: -2147024891 4: IAssemblyCache 5:
CreateAssemblyCacheItem 6:
Microsoft.MSXML2,publicKeyToken="6bd6b9abf345378f",version=
"4.20.9818.0",type="win32",processorArchitecture="x86"
Info 2898. MSSansSerif8, MS Sans Serif, 0
Info 2898. Arial10, Arial, 0
DEBUG: Error 2835: The control ErrorIcon was not found on
dialog ErrorDialog
Internal Error 2835. ErrorIcon, ErrorDialog
Error 1935. An error occured during the installation of
assembly component {303994BA-6487-47AE-AF1D-7AF6088EEBDB}.
HRESULT: -2147024891. assembly interface: IAssemblyCache,
function: CreateAssemblyCacheItem, assembly name:
Microsoft.MSXML2,publicKeyToken="6bd6b9abf345378f",version=
"4.20.9818.0",type="win32",processorArchitecture="x86"
MSI (s) (60:E0): Product: Crystal Analysis Rich Client --
Error 1935. An error occured during the installation of
assembly component {303994BA-6487-47AE-AF1D-7AF6088EEBDB}.
HRESULT: -2147024891. assembly interface: IAssemblyCache,
function: CreateAssembly
CacheItem, assembly name:
Microsoft.MSXML2,publicKeyToken="6bd6b9abf345378f",version=
"4.20.9818.0",type="win32",processorArchitecture="x86"

I hope someone can point me in the right direction.

Thanks
Phil
.


David Lillethun (GE Medical Systems)

unread,
Sep 22, 2003, 12:14:38 PM9/22/03
to
I am encountering a very similar problem, actually. I
have a MSI that includes the msxml4sxs32.msm and installs
the SYS and INF files for our driver, then calls a DLL
custom action as the last thing before InstallFinalize.
This custom action uses the
UpdateDriverForPlugAndPlayDevices function to update the
driver with the INF file we installed.

This problem only occurs when I call this custom action
AND include the msxml4sxs32 merge module. If I take
either out, the install succeeds. The bug I see is
exactly the same except for a few little details - here's
the log excerpt:

Error 1935.An error occured during the installation of
assembly component {303994BA-6487-47AE-AF1D-
7AF6088EEBDB}. HRESULT: -2147024893. assembly interface:
IAssemblyCacheItem, function: Commit, assembly name:
Microsoft.MSXML2,publicKeyToken="6bd6b9abf345378f",version
="4.20.9818.0",type="win32",processorArchitecture="x86"
MSI (s) (10:FC): Product: PCIComms Driver Test -- Error
1935.An error occured during the installation of assembly
component {303994BA-6487-47AE-AF1D-7AF6088EEBDB}.
HRESULT: -2147024893. assembly interface:
IAssemblyCacheItem, function: Commit, assembly na
me:
Microsoft.MSXML2,publicKeyToken="6bd6b9abf345378f",version
="4.20.9818.0",type="win32",processorArchitecture="x86"


So I decided to use a file monitoring tool to watch for
file create and file delete actions during the install,
and I noticed that rundll32.exe is deleting stuff from
the WinSxS folder (and furhtermore only does so when both
the custom actions AND the merge module are included in
the install). Here's the log from that:

1 10:54:58 AM msiexec.exe:2808 CREATE
C:\DOCUME~1\MLCLTE~1\LOCALS~1\Temp\327628d.msi
SUCCESS Options: Create Access: All
2 10:54:58 AM msiexec.exe:2808 CREATE
C:\DOCUME~1\MLCLTE~1\LOCALS~1\Temp\327628d.msi
SUCCESS Options: OverwriteIf Access: All
3 10:54:58 AM msiexec.exe:2808 CREATE
C:\Documents and Settings\MLCLTechUser\Start
Menu\Programs\Administrative Tools SUCCESS Options:
Create Directory Access: All
4 10:54:58 AM msiexec.exe:2808 DELETE
C:\Documents and Settings\MLCLTechUser\Start
Menu\Programs\Administrative Tools\ SUCCESS
5 10:54:58 AM msiexec.exe:2808 DELETE
C:\Documents and Settings\All Users\Start
Menu\Programs\Administrative Tools\ CANNOT DELETE

6 10:54:58 AM msiexec.exe:2808 CREATE
C:\MSI7628e.tmp SUCCESS Options: Create
Directory Access: All
7 10:54:58 AM msiexec.exe:2808 DELETE
C:\MSI7628e.tmp SUCCESS
8 10:54:58 AM msiexec.exe:2808 CREATE
D:\MSI7628f.tmp SUCCESS Options: Create
Directory Access: All
9 10:54:58 AM msiexec.exe:2808 DELETE
D:\MSI7628f.tmp SUCCESS
10 10:55:00 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fb.msi SUCCESS
Options: Create Access: All
11 10:55:00 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fb.msi SUCCESS
Options: OverwriteIf Access: All
12 10:55:00 AM msiexec.exe:528 CREATE
C:\Documents and Settings\MLCLTechUser\Start
Menu\Programs\Administrative Tools SUCCESS Options:
Create Directory Access: All
13 10:55:00 AM msiexec.exe:528 DELETE
C:\Documents and Settings\MLCLTechUser\Start
Menu\Programs\Administrative Tools\ SUCCESS
14 10:55:00 AM msiexec.exe:528 DELETE
C:\Documents and Settings\All Users\Start
Menu\Programs\Administrative Tools\ CANNOT DELETE

15 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fc.ipi SUCCESS
Options: Create Access: All
16 10:55:01 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\2e7c4fc.ipi SUCCESS

17 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fc.ipi SUCCESS
Options: Create Access: All
18 10:55:01 AM msiexec.exe:528 CREATE
C:\DOCUME~1\MLCLTE~1\LOCALS~1\Temp\~DF3FF2.tmp
SUCCESS Options: Create Access: All
19 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\MSI10F.tmp SUCCESS Options:
Create Access: All
20 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\MSI10F.tmp SUCCESS Options:
OverwriteIf Access: All
21 10:55:01 AM msiexec.exe:528 CREATE
C:\Config.Msi SUCCESS Options: Create
Directory Access: All
22 10:55:01 AM msiexec.exe:528 CREATE
C:\Config.Msi\MSI110.tmp SUCCESS Options:
Create Access: All
23 10:55:01 AM msiexec.exe:528 DELETE
C:\Config.Msi\MSI110.tmp SUCCESS
24 10:55:01 AM msiexec.exe:528 DELETE
C:\Config.Msi SUCCESS
25 10:55:01 AM msiexec.exe:528 CREATE
C:\Config.Msi SUCCESS Options: Create
Directory Access: All
26 10:55:01 AM msiexec.exe:528 CREATE
C:\Config.Msi\2e7c4fd.rbs SUCCESS Options:
Create Access: All
27 10:55:01 AM msiexec.exe:528 CREATE
C:\Config.Msi\2e7c4fd.rbs SUCCESS Options:
OverwriteIf Access: All
28 10:55:01 AM msiexec.exe:528 CREATE D:\Test
SUCCESS Options: Create Directory Access: All
29 10:55:01 AM msiexec.exe:528 CREATE
D:\Test\PCIComms.sys SUCCESS Options:
OverwriteIf Access: All
30 10:55:01 AM msiexec.exe:528 CREATE
D:\Test\PCIComms.inf SUCCESS Options:
OverwriteIf Access: All
31 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS NAME COLLISION Options:
Create Directory Access: All
32 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\Manifests NAME COLLISION
Options: Create Directory Access: All
33 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp NAME COLLISION
Options: Create Directory Access: All
34 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075559 SUCCESS
Options: Create Directory Access: All
35 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075559\msxml4.dll
SUCCESS Options: Create Sequential Access: All
36 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075559
\msxml4.Manifest SUCCESS Options: Create
Sequential Access: All
37 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075559\msxml4.cat
SUCCESS Options: Create Sequential Access: All
38 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS NAME COLLISION Options:
Create Directory Access: All
39 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\Manifests NAME COLLISION
Options: Create Directory Access: All
40 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp NAME COLLISION
Options: Create Directory Access: All
41 10:55:01 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075754 SUCCESS
Options: Create Directory Access: All
42 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075754\msxml4r.dll
SUCCESS Options: Create Sequential Access: All
43 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075754
\msxml4r.Manifest SUCCESS Options: Create
Sequential Access: All
44 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12075754\msxml4r.cat
SUCCESS Options: Create Sequential Access: All
45 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fe.msi SUCCESS
Options: Create Access: All
46 10:55:02 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\2e7c4fe.msi SUCCESS

47 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\2e7c4fe.msi SUCCESS
Options: Create Access: All
48 10:55:02 AM msiexec.exe:528 CREATE
C:\WINDOWS\Installer\MSI111.tmp SUCCESS Options:
Create Access: All
49 10:55:03 AM svchost.exe:1884 CREATE
C:\WINDOWS\System32\CatRoot2\tmp.edb SUCCESS
Options: Create WriteThrough NoBuffer Access: All

50 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\ReinstallBackups\0021
SUCCESS Options: Create Directory Access: All
51 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\ReinstallBackups\0021
\DriverFiles SUCCESS Options: Create Directory
Access: All
52 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\ReinstallBackups\0021
\DriverFiles\pcicomms.inf SUCCESS Options:
OverwriteIf Sequential Access: All
53 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\ReinstallBackups\0021
\DriverFiles\pcicomms.PNF SUCCESS Options:
OverwriteIf Sequential Access: All
54 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\ReinstallBackups\0021
\DriverFiles\PCIComms.sys SUCCESS Options:
OverwriteIf Sequential Access: All
55 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\DRIVERS\SET112.tmp SUCCESS
Options: Create Access: All
56 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\DRIVERS\SET112.tmp SUCCESS

57 10:55:03 AM msiexec.exe:3196 CREATE
C:\WINDOWS\System32\DRIVERS\SET112.tmp SUCCESS
Options: OverwriteIf Sequential Access: All
58 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
\DriverFiles\pcicomms.inf CANNOT DELETE
59 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
\DriverFiles\pcicomms.PNF SUCCESS
60 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
\DriverFiles\PCIComms.sys SUCCESS
61 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
\DriverFiles NOT EMPTY
62 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
\DriverFiles NOT EMPTY
63 10:55:03 AM msiexec.exe:3196 DELETE
C:\WINDOWS\System32\ReinstallBackups\0020
NOT EMPTY
64 10:55:04 AM msiexec.exe:3196 CREATE
C:\WINDOWS\INF\oem7.PNF SUCCESS Options:
OverwriteIf Access: All
65 10:55:15 AM rundll32.exe:3460 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075559 NOT EMPTY

66 10:55:15 AM rundll32.exe:3460 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075559\msxml4.cat
SUCCESS
67 10:55:15 AM rundll32.exe:3460 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075559\msxml4.dll
SUCCESS
68 10:55:15 AM rundll32.exe:3460 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075559
\msxml4.Manifest SUCCESS
69 10:55:15 AM rundll32.exe:3460 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075559 SUCCESS

70 10:55:15 AM svchost.exe:1884 CREATE
C:\WINDOWS\Prefetch\RUNDLL32.EXE-4606FB7D.pf
SUCCESS Options: OverwriteIf Access: All
71 10:55:15 AM rundll32.exe:3464 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075754 NOT EMPTY

72 10:55:15 AM rundll32.exe:3464 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075754\msxml4r.cat
SUCCESS
73 10:55:15 AM rundll32.exe:3464 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075754\msxml4r.dll
SUCCESS
74 10:55:15 AM rundll32.exe:3464 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075754
\msxml4r.Manifest SUCCESS
75 10:55:15 AM rundll32.exe:3464 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12075754 SUCCESS

76 10:55:15 AM svchost.exe:1884 CREATE
C:\WINDOWS\Prefetch\RUNDLL32.EXE-34CDD0B3.pf
SUCCESS Options: OverwriteIf Access: All
77 10:55:15 AM svchost.exe:1884 CREATE
C:\WINDOWS\Prefetch\RUNONCE.EXE-2803F297.pf
SUCCESS Options: OverwriteIf Access: All
78 10:55:15 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\MSI111.tmp SUCCESS
79 10:55:15 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS NAME COLLISION Options:
Create Directory Access: All
80 10:55:15 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\Manifests NAME COLLISION
Options: Create Directory Access: All
81 10:55:15 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp NAME COLLISION
Options: Create Directory Access: All
82 10:55:15 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12086938 SUCCESS
Options: Create Directory Access: All
83 10:55:15 AM msiexec.exe:528 CREATE
C:\WINDOWS\WinSxS\InstallTemp\12086938\Manifests
SUCCESS Options: Create Directory Access: All
84 10:55:15 AM msiexec.exe:528 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12086938 NOT EMPTY

85 10:55:15 AM msiexec.exe:528 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12086938\Manifests
SUCCESS
86 10:55:15 AM msiexec.exe:528 DELETE
C:\WINDOWS\WinSxS\InstallTemp\12086938 SUCCESS

87 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\MSI10F.tmp SUCCESS
88 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\2e7c4fe.msi SUCCESS

89 10:55:18 AM msiexec.exe:528 DELETE
D:\Test\PCIComms.inf SUCCESS
90 10:55:18 AM msiexec.exe:528 DELETE D:\Test
NOT EMPTY
91 10:55:18 AM msiexec.exe:528 DELETE
D:\Test\PCIComms.sys SUCCESS
92 10:55:18 AM msiexec.exe:528 DELETE D:\Test
SUCCESS
93 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\WinSxS\Manifests NOT EMPTY

94 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\WinSxS\Manifests NOT EMPTY

95 10:55:18 AM msiexec.exe:528 DELETE
C:\Config.Msi\2e7c4fd.rbs SUCCESS
96 10:55:18 AM msiexec.exe:528 DELETE
C:\Config.Msi SUCCESS
97 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\2e7c4fc.ipi SUCCESS

98 10:55:18 AM msiexec.exe:528 DELETE
C:\WINDOWS\Installer\2e7c4fb.msi SUCCESS

99 10:55:20 AM msiexec.exe:2808 DELETE
C:\DOCUME~1\MLCLTE~1\LOCALS~1\Temp\327628d.msi
SUCCESS


So I'm not sure what's going on here, but from the MSI
log it looks like a similar if not identical problem. So
if anyone can help, I'm sure Phil and I would both
appreaciate it. =) Thanks!

--------------------
Dave Lillethun
GE Medical Systems

Kallely Sajan

unread,
Sep 22, 2003, 3:18:59 PM9/22/03
to
First, does it install fine when you are logged in as administartor?
Second, if #1 above is successfull, then it is absolutely a permission
problem. Enable file and registry object access logging in the policy.
Reboot the computer, and run the install as power user. This will tell you
where it is hitting the wall.
--

Regards,
Sajan.

PS: Please don't send me direct emails, use the newsroom.

"Phil" <ph...@stag.com> wrote in message
news:0d9901c38113$33453080$a401...@phx.gbl...

David Lillethun (GE Medical Systems)

unread,
Sep 22, 2003, 4:39:53 PM9/22/03
to
In my case, I'm always running as an administrator, so
it's not permissions for me. Although I can't say for
sure that it isn't a permissions issue in Phil's case.

I did some further investigation and found out this info:
The msxml4sxs32 merge module installs files into
C:\WINDOWS\WinSxS\InstallTemp. (I presume at the end of
installation they are moved from there to their permanent
location. However the install doesn't get that far.)
During the call to UpdateDriverForPlugAndPlayDevices, the
process rundll32.exe deletes these files.

Any ideas why those file might be getting deleted?

>..

>.
>

Kallely Sajan

unread,
Sep 22, 2003, 6:02:38 PM9/22/03
to
Check the contents of runonce before calling
UpdateDriverForPlugAndPlayDevices. Where is this custom action being
sequenced?
--

Regards,
Sajan.

PS: Please don't send me direct emails, use the newsroom.

"David Lillethun (GE Medical Systems)" <fa...@address.net> wrote in message
news:05fd01c38149$ad515490$a401...@phx.gbl...

David Lillethun (GE Medical Systems)

unread,
Sep 22, 2003, 6:58:16 PM9/22/03
to
Yup, that's it. =)
Two values are entered into RunOnce by the merge module
before my custom action runs. Apparently they use
rundll32.exe to call a DLL function that cleans up those
directories, which isn't _intended_ to happen until after
the install completes but when
UpdateDriverForPlugAndPlayDevices() runs it seems to
execute those RunOnce entries.

So originally I had the custom action scheduled as the
last thing before ScheduleReboot and InstallFinalize. I
thought maybe I could get the custom action in before the
RunOnce values were written so I scheduled it immediately
after InstallFiles. No luck; the values are written by
then. (I'm not sure exactly where they come from, unless
it's something Windows does as a special action when files
are installed in C:\WINDOWS\WinSxS ...?)

So my only good thought at the moment is to write code in
my custom action that backs up all values in the RunOnce
key and deletes them before calling
UpdateDriverForPlugAndPlayDevices(). Then after the
function call restores the backed up values.

Is there a better way to fix the problem or am I on the
right track?

>.
>

Kallely Sajan

unread,
Sep 22, 2003, 8:55:35 PM9/22/03
to
I remember reading somewhere in the INF API documentation an option to stop
the runonce from being processed. I can't recall it correctly. I will
suggest that you proceed with backing up RunOnce for the time being. In the
mean time, I will post back if I could recollect that.
--

Regards,
Sajan.

PS: Please don't send me direct emails, use the newsroom.

"David Lillethun (GE Medical Systems)" <fa...@address.net> wrote in message

news:13d001c3815d$023930f0$a001...@phx.gbl...

0 new messages