http://bugs.winehq.org/show_bug.cgi?id=9809
Summary: Autodesk Revit Architecture 2008 install fails Product: Wine Version: CVS/GIT Platform: Other URL: http://usa.autodesk.com/adsk/servlet/item?siteID=123112& id=9262587 OS/Version: other Status: NEW Keywords: download, Installer Severity: normal Priority: P2 Component: wine-misc AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
A user wanted this app, http://groups.google.com/group/comp.emulators.ms-windows.wine/msg/2b2ff99b0c... so I tried installing it. Didn't get too far.
To reproduce: rm -rf ~/.wine sh winetricks fakeie6 wine SP2_RAC2008.exe
The installer aborts earlyish with "Path not found Failed to copy the following files: *.exe"
http://bugs.winehq.org/show_bug.cgi?id=9809
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox_xerox2000@yahoo.co.uk Component|wine-misc |wine-msi
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2007-09-28 10:38:07 --- I did a cabextract on the installer, and ran the setup directly, but that too fails with:
wine: Call from 0x7b840aa0 to unimplemented function msi.dll.MsiEnumComponentCostsW, aborting wine: Unimplemented function msi.dll.MsiEnumComponentCostsW called at address 0x7b840aa0 (thread 0009), starting debugger...
(So after this bug is fixed, you will probably run into the one above. Hope it's ok to change component to msi for now)
http://bugs.winehq.org/show_bug.cgi?id=9809
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|wine-msi |wine-shell32
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2007-09-28 11:07:16 --- With native shell32, i don't get the error messagebox ,and it run directly into the unimplemented msi-stuff. I'll attach a + shell log
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #3 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2007-09-28 13:38:55 --- With the hack below it gets around this bug. I'm pretty sure the bug is somewhere in SHFileOperationW, the hack however is probably wrong. The installer tries to find setup files in strange looking directory names like "C:\Program Files\Revit Architecture 2008\Download\\5355\0445\0001"
The directory C:\Program Files\Revit Architecture 2008\Download\ is where all the files are located. Maybe it reads one byte beyond a boundary? Maybe someone who understands the shell code better than me could have a look...
P.S. should i file another bug for the unimplemented msi-stuff?
Hack:
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c index 4f89c4c..699fede 100644 --- a/dlls/shell32/shlfileop.c +++ b/dlls/shell32/shlfileop.c @@ -1054,7 +1054,7 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles) }
/* advance to the next string */ - ptr += lstrlenW(ptr) + 1; + ptr += lstrlenW(ptr) ;//+ 1; i++; } flList->dwNumFiles = i;
http://bugs.winehq.org/show_bug.cgi?id=9809
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net 2007-11-13 17:11:25 --- Hello,
ran into same issue in AutoCAD 2008 installer.
Well, MSDN says following to this multi-paths buffers (http://msdn2.microsoft.com/en-us/library/bb759795.aspx):
--- snip --- A pointer to one or more source file names. These names should be fully-qualified paths to prevent unexpected results.
Standard Microsoft MS-DOS wildcard characters, such as "*", are permitted only in the file-name position. Using a wildcard character elsewhere in the string will lead to unpredictable results.
Although this member is declared as a single null-terminated string, it is actually a buffer that can hold multiple null-delimited file names. Each file name is terminated by a single NULL character. The last file name is terminated with a double NULL character ("\0\0") to indicate the end of the buffer. --- snip ---
Same applies for "lpFileOp->pTo" member. The wide character version must have at least 4 null bytes appended to indicate end of list.
I hex dumped the buffers from SHFileOperationW:
--- snip lpFileOp->pFrom ---
5A003A00 5C006D00 6E007400 5C006900< Z.:..m.n.t..i. 00000000 73006F00 5C002A00 2E006500 78006500< s.o..*...e.x.e. 00000010 00000000 49006100 2E007400 6D007000< ....I.a...t.m.p. 00000020 00000000 00004E00 5F004300 4F004F00< ......N._.C.O.O. 00000030 4B004900 45003D00 65006500 32003300< K.I.E.=.e.e.2.3. 00000040
--- snip lpFileOp->pFrom ---
--- snip lpFileOp->pTo ---
43003A00 5C007700 69006E00 64006F00< C.:..w.i.n.d.o. 00000000 77007300 5C007400 65006D00 70005C00< w.s..t.e.m.p.. 00000010 5F004100 49006100 2E007400 6D007000< _.A.I.a...t.m.p. 00000020 5C000000 18000000 55534500 A4370510< .......USE..7.. 00000030
--- snip lpFileOp->pTo ---
From the technical standpoint it's a bug in their installer because even if
they supply only _one_ path in lpFileOp->pTo it must be double (wide) NULL terminated.
After some debugging I found a workable solution. It seems in windows if FOF_MULTIDESTFILES is NOT set in lpFileOp->fFlags (set flag means that lpFileOp->pTo can contain multiple destination file names) this condition has precedence over multi-path splitting.
Just give dlls/shell32/shlfileop.c:parse_file_list() a hint to break loop if not "multi" (based on FOF_MULTIDESTFILES flag). This allows broken apps which supply non double NULL terminated lpFileOp->pTo to continue (no FOF_MULTIDESTFILES set -> process only one path/iteration -> break loop).
Regards
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #5 from Anastasius Focht focht@gmx.net 2007-11-14 03:40:40 --- Created an attachment (id=9155) --> (http://bugs.winehq.org/attachment.cgi?id=9155) Patch which takes lpFileOp->pTo FOF_MULTIDESTFILES file into account to fix broken apps
Hello,
attached is a sample patch which takes lpFileOp->pTo FOF_MULTIDESTFILES flag into account to fix broken apps which do not correctly double NULL terminate multi-path buffers.
With that patch applied, the installer will go further only to hit unimplemented msi stuff (as mentioned earlier).
Regards
http://bugs.winehq.org/show_bug.cgi?id=9809
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch Target Milestone|--- |1.0.0
--- Comment #6 from Dan Kegel dank@kegel.com 2007-12-02 02:34:19 --- Marking 1.0 so it doesn't fall through the cracks.
http://bugs.winehq.org/show_bug.cgi?id=9809
Titus Rennie trennie@kingengineering.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |trennie@kingengineering.com
--- Comment #7 from Titus Rennie trennie@kingengineering.com 2007-12-04 05:21:19 --- Hello,
I am a bit new to wine but am having these same issues trying to install Civil 3D 2008 on Ubuntu using wine. Where exactly do you put these hacks that have been posted? Am I supposed to edit a specific file and cut and paste this hack into its programming somewhere? Any further help would be appreciated.
thanks!
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #8 from Dmitry Timoshkov dmitry@codeweavers.com 2007-12-04 05:31:03 --- This is a bug tracker, not a user support list.
http://bugs.winehq.org/show_bug.cgi?id=9809
Jason Plank jplank@kent.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jplank@kent.edu
--- Comment #9 from Jason Plank jplank@kent.edu 2007-12-08 19:38:36 --- (In reply to comment #8)
This is a bug tracker, not a user support list.
That's entirely unhelpful of you. I am having the same problem Titus is and I would really like to know how to fix this thing.
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #10 from Dan Kegel dank@kegel.com 2007-12-08 22:53:53 --- Whether or not you like what James said, chances are, you won't be able to install and run current Autodesk apps with Wine any time soon. Sorry... please go tell Autodesk you want their apps on Linux, maybe they'll support Wine and help hasten the day.
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #11 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2007-12-09 01:08:07 --- @Jason: download wine's source, then in the top-directory of wine's source do: 'patch -Np1 -i name_of_patch' (name_of_patch is of course this patch: http://bugs.winehq.org/attachment.cgi?id=9155) Then recompile wine
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #12 from Dmitry Timoshkov dmitry@codeweavers.com 2007-12-09 02:37:52 --- (In reply to comment #9)
(In reply to comment #8)
This is a bug tracker, not a user support list.
That's entirely unhelpful of you. I am having the same problem Titus is and I would really like to know how to fix this thing.
The purpose of bugzilla is to help tracking bugs for developers not to help clueless users. Please use user support lists/forums instead.
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #13 from Titus Rennie trennie@kingengineering.com 2008-01-07 09:14:36 --- Louis,
I have followed your instructions to patch wine then recompile. However, when I run the command for patch that you have given me (i have renamed the patch to be called "fix"), I run into the below error. It asks me for a name of a file to be patched. Do you know why this is?
trennie@Ubuntu-JAX:~/Desktop/wine-0.9.52$ patch -Np1 -i /home/trennie/Desktop/fix can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c |index 0d9f737..88fc401 100644 |--- a/dlls/shell32/shlfileop.c |+++ b/dlls/shell32/shlfileop.c -------------------------- File to patch:
Thanks!
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #14 from Titus Rennie trennie@kingengineering.com 2008-01-10 06:14:39 --- Louis,
I figured out what I was doing wrong and was able to get the patch to work. However, after completing make depend, then preforming make, I got this message at the end:
make[2]: Entering directory `/home/trennie/Desktop/wine-0.9.52/dlls/shell32' gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_SHELL32_ -DCOM_NO_WINDOWS_H -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -g -O2 -o shlfileop.o shlfileop.c shlfileop.c:1774: error: stray ‘@’ in program shlfileop.c:1774: error: stray ‘@’ in program shlfileop.c:1774: error: expected identifier or ‘(’ before ‘-’ token shlfileop.c:1774: error: stray ‘@’ in program shlfileop.c:1774: error: stray ‘@’ in program shlfileop.c:1778: error: expected identifier or ‘(’ before ‘-’ token shlfileop.c:1783: error: stray ‘@’ in program shlfileop.c:1783: error: stray ‘@’ in program shlfileop.c:1783: error: stray ‘@’ in program shlfileop.c:1783: error: stray ‘@’ in program shlfileop.c:1787: error: expected identifier or ‘(’ before ‘+’ token shlfileop.c:1788: error: expected identifier or ‘(’ before ‘+’ token shlfileop.c:1790: error: expected identifier or ‘(’ before ‘+’ token shlfileop.c:1793: error: expected identifier or ‘(’ before ‘-’ token shlfileop.c:1794: error: expected identifier or ‘(’ before ‘}’ token shlfileop.c:1795: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token shlfileop.c:1797: error: stray ‘@’ in program shlfileop.c:1797: error: stray ‘@’ in program shlfileop.c:1797: error: expected identifier or ‘(’ before ‘-’ token shlfileop.c:1797: error: stray ‘@’ in program shlfileop.c:1797: error: stray ‘@’ in program shlfileop.c:1799: error: expected declaration specifiers or ‘...’ before ‘(’ token shlfileop.c:1799: error: expected declaration specifiers or ‘...’ before numeric constant shlfileop.c:1799: error: expected declaration specifiers or ‘...’ before ‘(’ token shlfileop.c:1799: warning: data definition has no type or storage class shlfileop.c:1799: warning: type defaults to ‘int’ in declaration of ‘memset’ shlfileop.c:1799: error: conflicting types for ‘memset’ shlfileop.c:1801: error: expected identifier or ‘(’ before ‘-’ token shlfileop.c:1805: error: expected identifier or ‘(’ before ‘if’ shlfileop.c:1807: error: expected identifier or ‘(’ before ‘+’ token shlfileop.c:1809: error: expected declaration specifiers or ‘...’ before ‘(’ token shlfileop.c:1809: error: expected declaration specifiers or ‘...’ before numeric constant shlfileop.c:1809: error: expected declaration specifiers or ‘...’ before ‘(’ token shlfileop.c:1809: warning: data definition has no type or storage class shlfileop.c:1809: warning: type defaults to ‘int’ in declaration of ‘memset’ shlfileop.c:1809: error: conflicting types for ‘memset’ shlfileop.c:1810: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token make[2]: *** [shlfileop.o] Error 1 make[2]: Leaving directory `/home/trennie/Desktop/wine-0.9.52/dlls/shell32' make[1]: *** [shell32] Error 2 make[1]: Leaving directory `/home/trennie/Desktop/wine-0.9.52/dlls' make: *** [dlls] Error 2 trennie@Ubuntu-JAX:~/Desktop/wine-0.9.52$
It seems that whatever the patch did to the shlfileop.c it caused errors during the recompile. Any ideas?
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #15 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-01-10 06:21:42 --- Created an attachment (id=10151) --> (http://bugs.winehq.org/attachment.cgi?id=10151) patched shlfileop.c
right, since you got so much problems applying a patch, i'll attach the patched file here. Just replace the file dlls/shell32/shlfileop.c in your wine's source tree with this one......
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #16 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-02-22 01:31:26 --- Hi, just a followup on this bug:
After applying the patch for shell32 bug I now get a crash in user32:
err:cursor:DIB_GetBitmapInfo (1633746944): unknown/wrong size for header err:cursor:DIB_GetBitmapInfo (1633746944): unknown/wrong size for header X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 53 (X_CreatePixmap) Value in failed request: 0x0 Serial number of failed request: 45080 Current serial number in output stream: 45084
Stupid hack below got me around that bug. Then i got i nice crash in msi:
Backtrace: =>1 0x6ec6c27a move_files_wildcard+0x39a(source=0x2106fd8, dest=0x21074b0, options=0x0) [/sda6/wine-git/dlls/msi/action.c:5284] in msi (0x61f33374) 2 0x6ec6ca08 ITERATE_MoveFiles+0x4f8(rec=0x2106de8, param=0x1c00028) [/sda6/wine-git/dlls/msi/action.c:5405] in msi (0x61f333b4) 3 0x6eca4811 MSI_IterateRecords+0x91(view=0x2094e58, count=0x0, func=0x6ec6c510, param=0x1c00028) [/sda6/wine-git/dlls/msi/msiquery.c:190] in msi (0x61f333f4) 4 0x6ec63920 ACTION_MoveFiles+0x60(package=<register EDI not in topmost frame>) [/sda6/wine-git/dlls/msi/action.c:5429] in msi (0x61f33434)
I also hacked around this, installer completed, but because of hack, the main app complained about a bad install, so pity here. looks like there are three bugs to fix atm
stupid hack: diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index 0ec5b32..771d568 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -342,7 +342,14 @@ static int DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, LONG *width, return 5; } ERR("(%d): unknown/wrong size for header\n", header->biSize ); - return -1; + { + *width = header->biWidth; + *height = header->biHeight; + *bpp = header->biBitCount; + *compr = header->biCompression; + return 1; + } + }
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #17 from James Hawkins truiken@gmail.com 2008-04-01 01:53:53 --- I can't find the installer SP2_RAC2008.exe anymore, and I can't reproduce this problem with the latest Revit Architecture installer. Can you guys please retest?
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #18 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-04-01 10:44:11 ---
I can't find the installer SP2_RAC2008.exe anymore, and I can't reproduce this problem with the latest Revit Architecture installer.
The same bug ( the shell32 bug) occurs in the AutoCAD2008-trial installer, so you could test that one to see this bug. It's still present in current git
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #19 from James Hawkins truiken@gmail.com 2008-04-02 03:11:04 --- Patch sent:
http://winehq.org/pipermail/wine-patches/2008-April/052611.html
There's a problem in msi after this in the Autocad 2008 trial installer, but that should be bug 8319.
http://bugs.winehq.org/show_bug.cgi?id=9809
--- Comment #20 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-04-14 10:21:07 --- @Dan, could you please retest this with current git? I bet the installer finishes fine in current git
http://bugs.winehq.org/show_bug.cgi?id=9809
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #21 from Dan Kegel dank@kegel.com 2008-04-14 19:29:14 --- I don't have SP2_RAC2008.exe around anywhere obvious, so I downloaded afresh from the site in the URL field above. It gets past this problem, so let's call it fixed.
The next problem is now filed as bug 12595.
http://bugs.winehq.org/show_bug.cgi?id=9809
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org 2008-04-18 11:03:26 --- Closing bugs reported fixed in 0.9.60.
http://bugs.winehq.org/show_bug.cgi?id=9809
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
http://bugs.winehq.org/show_bug.cgi?id=9809
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6ecccdb790fad9dd24acdbc12fb | |c361ebe148fac Hardware|Other |x86 Version|unspecified |0.9.45. OS|other |Linux
https://bugs.winehq.org/show_bug.cgi?id=9809
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://usa.autodesk.com/ads |https://web.archive.org/web |k/servlet/item?siteID=12311 |/20130513122904/http://revi |2&id=9262587 |t.downloads.autodesk.com/do | |wnload/2008/SP3_RAC2008.exe