http://bugs.winehq.org/show_bug.cgi?id=14817
Summary: Msi property names passed on the command line need to be
interpreted as uppercase (Corel Draw X3 installer)
Product: Wine
Version: CVS/GIT
Platform: PC
URL: http://download.chip.eu/en/CorelDraw-Graphics-Suite-X3-
13.0.0.739_74294.html
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
while solving bug 10368 I came across another one before hitting bug 2547
Note: To get to this bug one needs my private heap patch for bug 10368 so just
believe it for now until AJ provides a fix ;-)
There is a custom action "Set_AKPARAMS_CGS" which lets the installer fail:
--- snip ---
002d:trace:msi:ACTION_CustomAction Handling custom action L"Set_AKPARAMS_CGS"
(33 L"AKPARAMS"
L"[PCUPath]|[PCUNLRFilename]|[LangPath]|[PCUDllFilename]|[regkey]|[DTAFilename]|[PIDprefix]|[LANG]")
..
--- snip ---
There are 8 properties fetched to build the string:
--- snip ---
002d:trace:msi:MSI_GetPropertyW returning
L"C:\\windows\\temp\\Corel\\6926A426-654D-11DD-879C-000AE4C88BC2\\Programs\\"
for property L"PCUPath"
..
002d:trace:msi:MSI_GetPropertyW returning L"DRPCUNLR.dll" for property
L"PCUNLRFilename"
..
002d:trace:msi:MSI_GetPropertyW returning
L"C:\\windows\\temp\\Corel\\6926A426-654D-11DD-879C-000AE4C88BC2\\Languages\\DE\\Programs\\"
for property L"LangPath"
..
002d:trace:msi:MSI_GetPropertyW property L"PCUDllFilename" not found
..
002d:trace:msi:MSI_GetPropertyW returning
L"SOFTWARE\\Corel\\TempKey2B9006B6\\6926A426-654D-11DD-879C-000AE4C88BC2" for
property L"regkey"
..
002d:trace:msi:MSI_GetPropertyW returning L"DR13" for property L"DTAFilename"
..
002d:trace:msi:MSI_GetPropertyW returning L"DR13" for property L"PIDprefix"
..
002d:trace:msi:MSI_GetPropertyW returning L"EN" for property L"LANG"
..
--- snip ---
One property "PCUDllFilename" is not found.
The properties are passed on command line:
--- snip ---
002d:Call msi.MsiInstallProductA(00a00b40
"C:\\windows\\temp\\CorelPreInstall.msi",00a00be0 "ACTIONTODO=\"AcquireKey\"
MAIN_INSTALL_DLG_TITLE=\"Setup Initialization\"
SERIALNUMBER=\"DR13WTX-9999998-YSP\" USERNAME=\"\" PCUSOURCEID=\"100001\"
PRODUCT_REGKEY=\"CorelDRAW\\13.0\" LANG=\"EN\" PCU_SUBFOLDER=\"Programs\\\"
PCUNLRFILENAME=\"DRPCUNLR.dll\"
PCU_LANG_SUBFOLDER=\"Languages\\DE\\Programs\\"...) ret=1000372b
--- snip ---
Debug/relay truncated it, here is the full command line (formatted one property
per line):
--- snip ---
ACTIONTODO="AcquireKey"
MAIN_INSTALL_DLG_TITLE="Setup Initialization"
SERIALNUMBER="DR13WTX-9999998-YSP"
USERNAME=""
PCUSOURCEID="100001"
PRODUCT_REGKEY="CorelDRAW\13.0"
LANG="EN"
PCU_SUBFOLDER="Programs\"
PCUNLRFILENAME="DRPCUNLR.dll"
PCU_LANG_SUBFOLDER="Languages\DE\Programs\"
PCU_LANG_RELATIVE_PATH="..\Languages\DE\Programs"
PCUDllFilename="PCUDataIntl.dll"
PIDPREFIX="DR13"
DTAFILENAME="DR13"
PCUURLLANG="DE"
--- snip ---
All property names are hard coded literals in this brain damaged installer and
"PCUDllFilename" was the only one not passed as uppercase.
Probably not intended but completely valid.
Next, these properties are set within msi_parse_command_line().
Because wine msi takes the property names as case sensitive, the property
"PCUDllFilename" is set with value "PCUDataIntl.dll" (and not
"PCUDLLFILENAME").
A bit later, a custom action for each property maps the property names again to
its case-dependant representation:
--- snip ---
002d:trace:msi:ACTION_CustomAction Handling custom action L"Set_PCUDllFilename"
(33 L"PCUDllFilename" L"[PCUDLLFILENAME]")
..
002d:trace:msi:MSI_FormatRecordW (L"[PCUDLLFILENAME]")
..
002d:trace:msi:MSI_DatabaseOpenViewW L"SELECT `Value` FROM `_Property` WHERE
`_Property`='PCUDLLFILENAME'" 0x7ed3cf9c
..
002d:trace:msi:MSI_GetPropertyW property L"PCUDLLFILENAME" not found
--- snip ---
Because "PCUDLLFILENAME" wasn't found due to msi command line bug,
"PCUDllFilename" will be overwritten with empty string, leading to later
failure.
My fix was to convert all property passed to msi_parse_command_line() to
uppercase.
This lets the installer proceed further - only to run into bug 2547
MSDN info here: http://msdn.microsoft.com/en-us/library/aa367988.aspx
--- quote ---
..
Only public properties can be modified using the command line. All property
names on the command line are interpreted as uppercase but the value retains
case sensitivity. If you enter MyProperty at a command line, the installer
overrides the value of MYPROPERTY and not the value of MyProperty in the
Property table.
--- quote ---
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.
http://bugs.winehq.org/show_bug.cgi?id=10368
Summary: Corel Draw X3 Won't Install
Product: Wine
Version: 0.9.48.
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jaimerave(a)gmail.com
Created an attachment (id=9041)
--> (http://bugs.winehq.org/attachment.cgi?id=9041)
Log of the error
The installation is failing when the second stage start.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=19520
Summary: Unimplemented function shdocvw.dll.SHRestricted2W
Product: Wine
Version: 1.1.26
Platform: PC
URL: http://www.oldversion.com/download/msie401sp2.exe
OS/Version: Linux
Status: NEW
Keywords: download, Installer
Severity: normal
Priority: P2
Component: shdocvw
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kennybobs(a)o2.co.uk
Internet Explorer 4 needs function shdocvw.dll.SHRestricted2W to finish it's
installation.
Without it, it fails with an unhandled exception.
Unhandled exception: unimplemented function shdocvw.dll.SHRestricted2W called
in 32-bit code (0x7b843517).
--
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.
http://bugs.winehq.org/show_bug.cgi?id=19519
Summary: Unimplemented function
urlmon.dll.AsyncInstallDistributionUnit
Product: Wine
Version: 1.1.26
Platform: PC
URL: http://www.oldversion.com/download/msie401sp2.exe
OS/Version: Linux
Status: NEW
Keywords: download, Installer
Severity: normal
Priority: P2
Component: urlmon
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kennybobs(a)o2.co.uk
Internet Explorer 4 needs function urlmon.dll.AsyncInstallDistributionUnit to
complete it's installation of the Java plugin. Without it, it fails with an
unhandled exception.
I tried stubbing it but it fails, looks like it's needs implementing properly.
--
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.
http://bugs.winehq.org/show_bug.cgi?id=21906
Summary: setupapi copyfiles action target must default to
LDID_WIN (win9x) or LDID_SYS (NT) when neither
DestinationDirs nor DefaultDestDir is given
Product: Wine
Version: 1.1.39
Platform: x86
URL: http://visiteinteractive.free.fr/VM_java/msjavx86.exe
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: setupapi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
with bug 18097 fixed (extrac32.exe tool), the msjavx86.exe installer still
fails.
WINEDEBUG=+tid,+seh,+relay,+setupapi wine ./msjavx86.exe &> log.txt
Use the "vminst.log" file in system32 to quickly determine which part failed.
--- snip ---
=== INF Invocation ==========================================
Type : RunSetupCommand
INF : C:\windows\temp\IXP000.TMP\java.inf
00000000 : WFCClean.RunNow
00000000 : CleanUp
00000000 : BaseInstallation.NT5
00000000 : BaseInstallation.RegNow
00000000 : IEOptions.Register
00000000 : IEOptions.X86.Register
00000000 : BaseInstallation.ClassFiles
80004005 : BasePkgMgr.Install.Execute
...
--- snip ---
java.inf -> "BasePkgMgr.Install.Execute" part failed.
--- snip ---
[BasePkgMgr.Install.Execute]
ComponentName=Java
RunPreSetupCommands=BASEINST.ExecPkgMgr
--- snip ---
--- snip ---
[BASEINST.ExecPkgMgr]
rundll32 %11%\msjava.dll,JavaPkgMgr_Install
%10%\Java\classes\classes.zip,1,5,00,%VERNUM%,4,286,%10%\java\classes\classes.cer
rundll32 %11%\msjava.dll,JavaPkgMgr_Install
%10%\Java\trustlib\tclasses.zip,1,5,00,%VERNUM%,6,286,%10%\java\trustlib\tclasses.cer
rundll32 %11%\msjava.dll,JavaPkgMgr_Install
%10%\Java\classes\msjdbc.zip,1,5,00,%VERNUM%,4,286,%10%\java\classes\msjdbc.cer
%11%\jdbgmgr.exe -regserver
--- snip ---
The self-register call fails because there is no target file ("%11%\jdbgmgr.exe
-regserver"):
--- snip ---
001d:Call KERNEL32.CreateProcessW(00000000,0033d22c
L"C:\\windows\\system32\\jdbgmgr.exe
-regserver",00000000,00000000,00000000,04000200,00000000,00152a50
L"C:\\windows\\temp\\IXP000.TMP",0033d18c,0033d1d0) ret=62fee93c
001d:Ret KERNEL32.CreateProcessW() retval=00000000 ret=62fee93c
--- snip ---
Go back to .inf to look up named sections for the file:
--- snip ---
[BASEINST.SysFilesNoReg]
jdbgmgr.exe,,,33
javart.dll,,,33
msjdbc10.dll,,,33
zonedoff.reg,,,33
zonedon.reg,,,33
...
[BASEINST.SysFilesNoReg.NT5]
clspack.exe,,,33
javart.dll,,,33
jdbgmgr.exe,,,33
jview.exe,,,33
msjdbc10.dll,,,33
wjview.exe,,,33
zonedoff.reg,,,33
zonedon.reg,,,33
--- snip ---
The copy files action is listed here:
--- snip ---
[BaseInstallation]
ComponentName=Java
CheckAdminRights=1
CopyFiles=BASEINST.SysFilesRegister,BASEINST.SysFilesNoReg,BASEINST.WinFiles,BASEINST.INF
AddReg=BASEINST.AddReg
[BaseInstallation.NT5]
ComponentName=Java
CheckAdminRights=1
CopyFiles=BASEINST.SysFilesRegister,BASEINST.SysFilesNoReg.NT5,BASEINST.INF
AddReg=BASEINST.AddReg
--- snip ---
The culprit (BASEINST.SysFilesNoReg.NT5) is here:
--- snip ---
...
001d:trace:setupapi:SetupGetStringFieldW context 0x1526a8/0x1526a8/6/2 index 2
returning L"BASEINST.SysFilesNoReg.NT5"
001d:trace:setupapi:SetupQueueCopySectionW hinf=0x1526a8/0x1526a8
section=L"BASEINST.SysFilesNoReg.NT5" root=L"C:\\windows\\temp\\IXP000.TMP"
001d:Call KERNEL32.SetLastError(00000000) ret=5092b82c
001d:Ret KERNEL32.SetLastError() retval=00000000 ret=5092b82c
001d:trace:setupapi:SetupFindFirstLineW
(0x1526a8,L"BASEINST.SysFilesNoReg.NT5",(null)): returning 62/0
001d:trace:setupapi:SetupFindNextMatchLineW
(0x1526a8,L"DestinationDirs",L"BASEINST.SysFilesNoReg.NT5"): not found
001d:Call KERNEL32.SetLastError(e0000102) ret=5092bed6
001d:Ret KERNEL32.SetLastError() retval=e0000102 ret=5092bed6
001d:trace:setupapi:SetupFindNextMatchLineW
(0x1526a8,L"DestinationDirs",L"DefaultDestDir"): not found
001d:Call KERNEL32.SetLastError(e0000102) ret=5092bed6
001d:Ret KERNEL32.SetLastError() retval=e0000102 ret=5092bed6
001d:Call KERNEL32.SetLastError(00000000) ret=5092c4be
001d:Ret KERNEL32.SetLastError() retval=00000000 ret=5092c4be
001d:trace:setupapi:SetupGetStringFieldW context 0x1526a8/0x1526a8/6/2 index 3
returning L"BASEINST.INF"
...
--- snip ---
"BASEINST.SysFilesNoReg.NT5" is skipped because there is no "DestinationDirs"
for this named section present (unlike the others BASEINST.SysFilesRegister and
BASEINST.INF):
--- snip ---
[DestinationDirs]
PRECLEAN.RegSvr=11
BASEINST.ClassFiles=10,Java\Classes
BASEINST.TClassFiles=10,Java\TrustLib
BASEINST.SysFilesRegister=11
BASEINST.SysFilesNoReg=11
BASEINST.WinFiles=10
BASEINST.INF=17
--- snip ---
"[DestinationDirs]" -> "DefaultDestDir" is also missing. Because of this the
file is never copied.
http://msdn.microsoft.com/en-us/library/ms794560.aspx (INF CopyFiles Directive)
--- quote ---
If a named section referenced by a CopyFiles directive has a corresponding
entry in the DestinationDirs section of the same INF, that entry explicitly
specifies the target destination directory into which all files that are listed
in the named section are copied. If the named section is not listed in the
DestinationDirs section, Setup uses the DefaultDestDir in the INF file.
...
--- quote ---
And what if no "DefaultDestDir" is given?
I searched a bit and found this:
http://technet.microsoft.com/en-us/library/cc768164.aspx (Appendix C - Windows
98 INF Files)
--- quote ---
The optional DefaultDestDir entry provides a default destination for any
Copyfile entries that use the direct copy notation (@filename) or any
[File-List] section not specified in the [DestinationDirs] section. If
DefaultDestDir is not given, the default directory is set to LDID_WIN.
--- quote ---
LDID_WIN might apply to Win9X but not to Windows NT.
In many .INF files for win32/NT you will find:
--- snip ---
[DestinationDirs]
...
DefaultDestDir = 11 ; LDID_SYS
--- snip ---
So the default for non-existing "DefaultDestDir" on NT is LDID_SYS (as the .inf
references the file(s) as "%11%\<executable>")
You may want to fix dlls/setupapi/queue.c:get_destination_dir().
With this bug is fixed, the installer almost cleanly installs except for bug
18098 (urlmon.AsyncInstallDistributionUnit not implemented).
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.
http://bugs.winehq.org/show_bug.cgi?id=15549
Summary: Colobot Demo installer does not fully redraw
installation window during install progress phase
Product: Wine
Version: 1.1.5
Platform: PC
URL: http://www.ceebot.com/download/demo/colobotdemo17e.exe
OS/Version: Linux
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: nodisgod(a)yahoo.com
Created an attachment (id=16531)
--> (http://bugs.winehq.org/attachment.cgi?id=16531)
Colobot Demo installer window screenshot
With today's Git (wine-1.1.5-507-ge20ef50), in the process of testing bug
13932, I noticed that when the installer is at the file copy progress phase,
some elements of the window are not redrawn properly. A screenshot is attached.
--
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.
http://bugs.winehq.org/show_bug.cgi?id=21622
Summary: mscoree.dll.DllUnregisterServer stub needed (.NET 1.0
installer)
Product: Wine
Version: 1.1.38
Platform: x86
URL: http://www.microsoft.com/DownLoads/details.aspx?family
id=D7158DEE-A83F-4E21-B05A-009D06457787
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: mscoree
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
due to recent changes in msi (SelfUnregModules standard action is now
implemented and executed), .NET 1.0 installer shows unhandled regsvr32
exception dialog (not critical to installer).
A stub is needed for mscoree.dll DllUnregisterServer():
--- snip ---
002f:trace:msi:ITERATE_SelfUnregModules Unregistering L"regsvr32.exe /u
\"C:\\windows\\system32\\mscoree.dll\""
002f:Call KERNEL32.CreateProcessW(00000000,006fe860 L"regsvr32.exe /u
\"C:\\windows\\system32\\mscoree.dll\"",00000000,00000000,00000000,00000000,00000000,621a0cd2
L"C:\\",0033e578,0033e568) ret=6212f676
...
0039:Call KERNEL32.RaiseException(80000100,00000001,00000002,0033fd98)
ret=200151f1
0039:trace:seh:raise_exception code=80000100 flags=1 addr=0x7b835dc2
ip=7b835dc2 tid=0039
0039:trace:seh:raise_exception info[0]=20015260
0039:trace:seh:raise_exception info[1]=2001542f
wine: Call from 0x7b835dc2 to unimplemented function
mscoree.dll.DllUnregisterServer, aborting
...
--- snip ---
The .NET 1.0 installer doesn't run until the end due to long standing bug 17084
(which is a pity as patch exists for some time now).
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.