[Bug 3709] Adobe Photoshop Elements 4 trial installer exits silently
Wine Bugs
wine-bugs at winehq.org
Wed Jan 11 03:45:34 CST 2006
http://bugs.winehq.org/show_bug.cgi?id=3709
mike at codeweavers.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
------- Additional Comments From mike at codeweavers.com 2006-11-01 02:30 -------
This one is interesting. Installing requires the windows version set to winxp,
but it fails after that with the error message:
err:msidb:load_string_table string table load failed! (0035e981 != 001ce981)
The following notes are mainly for me, but might be useful to somebody else
trying to understand the format of the MSI string table.
There's a very long string in the string table (more than 0x1a0000 bytes), and I
don't exactly understand the format of the entries that declare it:
str# len%2^16 ref real len
4820 0 1
4821 34523 1 100059
4822 0 1
4823 0 2
4824 0 1
4825 6197 1 1710133
4826 0 0
4827 24 1 24
4828 0 1
4829 34124 1 99660
So we need to calculate "real len" as above...
"str#" is the offset into the table, and I interpret the unsigned short integer
pairs "(len%2^16) ref" as follows:
"n 1" -> a string of n bytes (where n < 2^16)
"0 0" -> a hole in the string table
"0 m", "n 1" -> a string of m*65536+n bytes (should give up to 4G)
"0 k", "0 m", "n 1" -> shouldn't be necessary...
I'm still not sure how a "0 n" followed by "0 m" is meant to be interpreted.
Looking at the actual size of the string, it seems like it will increase the
length of the next string by 0xa00000*m + 0x10000*n ... though I probably need
to write some tests to confirm this.
------- Additional Comments From mike at codeweavers.com 2006-11-01 03:45 -------
This one is interesting. Installing requires the windows version set to winxp,
but it fails after that with the error message:
err:msidb:load_string_table string table load failed! (0035e981 != 001ce981)
The following notes are mainly for me, but might be useful to somebody else
trying to understand the format of the MSI string table.
There's a very long string in the string table (more than 0x1a0000 bytes), and I
don't exactly understand the format of the entries that declare it:
str# len%2^16 ref real len
4820 0 1
4821 34523 1 100059
4822 0 1
4823 0 2
4824 0 1
4825 6197 1 1710133
4826 0 0
4827 24 1 24
4828 0 1
4829 34124 1 99660
So we need to calculate "real len" as above...
"str#" is the offset into the table, and I interpret the unsigned short integer
pairs "(len%2^16) ref" as follows:
"n 1" -> a string of n bytes (where n < 2^16)
"0 0" -> a hole in the string table
"0 m", "n 1" -> a string of m*65536+n bytes (should give up to 4G)
"0 k", "0 m", "n 1" -> shouldn't be necessary...
I'm still not sure how a "0 n" followed by "0 m" is meant to be interpreted.
Looking at the actual size of the string, it seems like it will increase the
length of the next string by 0xa00000*m + 0x10000*n ... though I probably need
to write some tests to confirm this.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list