[Bug 12486] Microsoft Office Standard 2007 installation failure

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jul 2 05:10:03 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=12486


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #12 from James Hawkins <truiken at gmail.com>  2008-06-27 10:33:31 ---
(In reply to comment #11)
> I recall the msxml log telling me that it did not support nodes with node type
> 8 (comments node), and the installation failed thereafter, but that was some
> time ago. I don't know if our msxml was updated since then. The Office
> installer stores a digital signature in a xml file inside a comment. I think
> that the installer then reads the sig and validates something.
> 

No, the exact problem is stated in comment #6.


--- Comment #13 from Anastasius Focht <focht at gmx.net>  2008-07-02 05:10:02 ---
Hello,

is there any decision made yet to fork/replace/bugger libxml?
I don't see any argument to convince the libxml guys for incorporating such
breaking "feature".

The stripping of \r in \r\n sequences and handling of other format characters
when parsing is mandated by the XML specification - that's how they implemented
it.

http://www.w3.org/TR/2006/REC-xml-20060816/#sec-line-ends
http://www.w3.org/TR/2006/REC-xml-20060816/#sec-white-space

The office installer uses a custom variant of signed XML, calculating a hash of
document element and all child data (usually all stuff between
<Setup></Setup>).
As already pointed out, all the line ends and formatting have to be *kept* to
let the installer's XML verification succeed.

Just for illustration, the XML buffer dumps before being given to hash
calculation:

--- snip windows xml dump ---
+00  3C 00 53 00|65 00 74 00|75 00 70 00|20 00 49 00| <.S.e.t.u.p. .I.
+10  64 00 3D 00|22 00 45 00|78 00 63 00|65 00 6C 00| d.=.".E.x.c.e.l.
+20  2E 00 64 00|65 00 2D 00|64 00 65 00|22 00 20 00| ..d.e.-.d.e.". .
+30  54 00 79 00|70 00 65 00|3D 00 22 00|41 00 64 00| T.y.p.e.=.".A.d.
+40  64 00 4F 00|6E 00 22 00|20 00 4B 00|65 00 79 00| d.O.n.". .K.e.y.
+50  77 00 6F 00|72 00 64 00|3D 00 22 00|45 00 78 00| w.o.r.d.=.".E.x.
+60  63 00 65 00|6C 00 4D 00|55 00 49 00|22 00 20 00| c.e.l.M.U.I.". .
+70  43 00 75 00|6C 00 74 00|75 00 72 00|65 00 3D 00| C.u.l.t.u.r.e.=.
+80  22 00 64 00|65 00 2D 00|64 00 65 00|22 00 3E 00| ".d.e.-.d.e.".>.
+90  0D 00 0A 00|09 00 3C 00|4F 00 70 00|74 00 69 00| ......<.O.p.t.i.
..
--- snip windows xml dump ---

0x0D, 0x0A, 0x09, 0x20

This is what it looks like in libxml (keep format):
NOTE: the memory dump is from another XML file but it should give the idea:

--- snip wine xml dump ---
+00  3C 00 53 00|65 00 74 00|75 00 70 00|20 00 49 00| <.S.e.t.u.p. .I.
+10  64 00 3D 00|22 00 50 00|6F 00 77 00|65 00 72 00| d.=.".P.o.w.e.r.
+20  50 00 6F 00|69 00 6E 00|74 00 2E 00|64 00 65 00| P.o.i.n.t...d.e.
+30  2D 00 64 00|65 00 22 00|20 00 54 00|79 00 70 00| -.d.e.". .T.y.p.
+40  65 00 3D 00|22 00 41 00|64 00 64 00|4F 00 6E 00| e.=.".A.d.d.O.n.
+50  22 00 20 00|4B 00 65 00|79 00 77 00|6F 00 72 00| ". .K.e.y.w.o.r.
+60  64 00 3D 00|22 00 50 00|6F 00 77 00|65 00 72 00| d.=.".P.o.w.e.r.
+70  50 00 6F 00|69 00 6E 00|74 00 4D 00|55 00 49 00| P.o.i.n.t.M.U.I.
+80  22 00 20 00|43 00 75 00|6C 00 74 00|75 00 72 00| ". .C.u.l.t.u.r.
+90  65 00 3D 00|22 00 64 00|65 00 2D 00|64 00 65 00| e.=.".d.e.-.d.e.
+A0  22 00 3E 00|0A 00 20 00|20 00 3C 00|4F 00 70 00| ".>... . .<.O.p.
..
--- snip wine xml dump ---

0x0A, 0x20

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list