http://bugs.winehq.org/show_bug.cgi?id=26701
Summary: exeinfoPE crashes due to PE resource section
validation being too strict
Product: Wine
Version: 1.3.17
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntdll
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
while updating some appdb entries I noticed a breakage with some PE "id" tool.
The app worked some time ago but now crashes instantly.
There was a minor version update: the author probably not only added more
signatures but tweaked the custom PE protection the app is wrapped with.
--- snip ---
>$ wine ./exeinfoPE.exe
wine: Unhandled exception 0x0eedfade at address 0x7b83983a:0x7b83863f (thread
0009), starting debugger...
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag
26
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag
26
fixme:dbghelp_dwarf:dwarf2_lookup_type Unable to load forward reference for tag
26
err:seh:setup_exception_record stack overflow 880 bytes in thread 0009 eip
6816b5ea esp 00230fc0 stack 0x230000-0x231000-0x330000
--- snip ---
relay trace yields following:
--- snip ---
...
0021:Call KERNEL32.FindResourceA(00400000,00472384 "tbl_Main",0000000a)
ret=00474417
0021:trace:resource:FindResourceExA 0x400000 #000a "tbl_Main" 0000
0021:trace:resource:LdrFindResource_U module 0x400000 type #000a name
L"TBL_MAIN" lang 0000 level 3
0021:Ret KERNEL32.FindResourceA() retval=00000000 ret=00474417
0021:Call user32.LoadStringA(00400000,0000ffc3,0032ed34,00001000) ret=00407417
0021:trace:resource:LoadStringA instance = 0x400000, id = ffc3, buffer =
0x32ed34, length = 4096
0021:trace:resource:FindResourceExW 0x400000 #0006 #0ffd 0000
0021:trace:resource:LdrFindResource_U module 0x400000 type #0006 name #0ffd
lang 0000 level 3
0021:trace:resource:LoadStringA returning ""
0021:Ret user32.LoadStringA() retval=00000000 ret=00407417
0021:Call KERNEL32.RaiseException(0eedfade,00000001,00000007,0032fd7c)
ret=0047444b
0021:trace:seh:raise_exception code=eedfade flags=1 addr=0x7b83863f ip=7b83863f
tid=0021
0021:trace:seh:raise_exception info[0]=0047444b
0021:trace:seh:raise_exception info[1]=05701d10
0021:trace:seh:raise_exception info[2]=0053a9e0
0021:trace:seh:raise_exception info[3]=00000000
0021:trace:seh:raise_exception info[4]=00000029
0021:trace:seh:raise_exception info[5]=0032fde8
0021:trace:seh:raise_exception info[6]=0032fd98
0021:trace:seh:raise_exception eax=7b825a75 ebx=7b88fff4 ecx=0047444b
edx=0032fc94 esi=0032fd7c edi=0032fcf0
0021:trace:seh:raise_exception ebp=0032fcd8 esp=0032fc74 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00000203
0021:trace:seh:call_vectored_handlers calling handler at 0x788636c6
code=eedfade flags=1
0021:trace:seh:call_vectored_handlers handler at 0x788636c6 returned 0
0021:trace:seh:call_stack_handlers calling handler at 0x474573 code=eedfade
flags=1
0021:trace:seh:call_stack_handlers handler at 0x474573 returned 1
0021:trace:seh:call_stack_handlers calling handler at 0x405149 code=eedfade
flags=1
...
--- snip ---
The app unpacks/decrypts PE sections into dynamic memory and patches the PE
header to point to new locations.
I dumped the PE header at the right place ;-)
--- snip ---
Wine-dbg>p *nt
{Signature=0x4550, FileHeader={Machine=0x14c, NumberOfSections=0x3,
TimeDateStamp=0x2a425e19, PointerToSymbolTable=0, NumberOfSymbols=0,
SizeOfOptionalHeader=0xe0, Characteristics=0x818f},
OptionalHeader={Magic=0x10b, MajorLinkerVersion=2, MinorLinkerVersion=0,
SizeOfCode=0x8c000, SizeOfInitializedData=0x5000,
SizeOfUninitializedData=0x513a000, AddressOfEntryPoint=0x51c5810,
BaseOfCode=0x513b000, BaseOfData=0x51c7000, ImageBase=0x400000,
SectionAlignment=0x1000, FileAlignment=0x200, MajorOperatingSystemVersion=0x4,
MinorOperatingSystemVersion=0, MajorImageVersion=0, MinorImageVersion=0,
MajorSubsystemVersion=0x4, MinorSubsystemVersion=0, Win32VersionValue=0,
SizeOfImage=0x51cc000, SizeOfHeaders=0x1000, CheckSum=0x51c5810, Subsystem=0x2,
DllCharacteristics=0, SizeOfStackReserve=0x100000, SizeOfStackCommit=0x4000,
SizeOfHeapReserve=0x100000, SizeOfHeapCommit=0x1000, LoaderFlags=0,
NumberOfRvaAndSizes=0x12, DataDirectory={{VirtualAddress=0x5159000, Size=0x4f},
{VirtualAddress=0x51cb120, Size=0x2c8}, {VirtualAddress=0x51c7000, Size=0},
{VirtualAddress=0, Size=0}, {VirtualAddress=0, Size=0}, {VirtualAddress=0,
Size=0}, {VirtualAddress=0, Size=0}, {VirtualAddress=0, Size=0},
{VirtualAddress=0, Size=0}, {VirtualAddress=0x51c63b0, Size=0x18},
{VirtualAddress=0, Size=0}, {VirtualAddress=0, Size=0}, {VirtualAddress=0,
Size=0}, {VirtualAddress=0, Size=0}, {VirtualAddress=0, Size=0},
{VirtualAddress=0, Size=0}}}}
--- snip ---
The (new) PE resource section is located at 0x051c7000 with size == 0 (not
recalculated to real value)
Wine's resource directory entry size check is actually the problem, preventing
the app from finding its resources.
--- snip ntdll/resource.c ---
/**********************************************************************
* find_entry
*
* Find a resource entry
*/
static NTSTATUS find_entry( HMODULE hmod, const LDR_RESOURCE_INFO *info,
ULONG level, const void **ret, int want_dir )
{
ULONG size;
const void *root;
const IMAGE_RESOURCE_DIRECTORY *resdirptr;
WORD list[9]; /* list of languages to try */
int i, pos = 0;
root = RtlImageDirectoryEntryToData( hmod, TRUE,
IMAGE_DIRECTORY_ENTRY_RESOURCE, &size );
if (!root) return STATUS_RESOURCE_DATA_NOT_FOUND;
if (size < sizeof(*resdirptr)) return STATUS_RESOURCE_DATA_NOT_FOUND;
resdirptr = root;
...
--- snip ntdll/resource.c ---
This also results in stack overflow because the app's exception handler tries
to load resources too which obviously fails.
Removing the size check (size < sizeof(*resdirptr)) lets the app successfully
start.
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=34785
Bug #: 34785
Summary: unimplemented function shell32.dll.SHExtractIconsW
called in 64-bit code (0x000000007b84980a)
Product: Wine
Version: unspecified
Platform: x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: shell32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: LiveFreeDead(a)hotmail.com
Classification: Unclassified
Created attachment 46386
--> http://bugs.winehq.org/attachment.cgi?id=46386
backtrace of crash
Just noticed this API wasn't implemented yet and would prefer it return a blank
icon for now instead of crashing out the whole WINE app. Not sure if it affects
x86 as I only have x64 installed at the moment.
--
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=32245
Bug #: 32245
Summary: unimplemented function shell32.dll.SHExtractIconsW
Product: Wine
Version: 1.5.17
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: shell32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: tjfoerster(a)web.de
Classification: Unclassified
I've coded a small GUI with a graphic menu which should run in wine. Everything
works well on windows (i.e. XP) - but not in wine (Unhandled exception). It
doesn't start at all.
The same in wine 1.5.17 (ArchLinux) and 1.2 (Meego - WeTab).
Attached the backrace.txt and the GUI.
--
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=32878
Bug #: 32878
Summary: Classic Shell/Classic Start Menu crashes on startup
due to unimplemented function
shell32.dll.SHGetStockIconInfo
Product: Wine
Version: 1.5.22
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: shell32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
as the summary says ...
Detlef is already working on that though it might be useful to have a bug
report for it.
I tested the port of class shell to ARM platform.
The same most likely applies for x86.
--- snip ---
$ wine ./ClassicStartMenu.exe
...
wine: Call from 0x403ec644 to unimplemented function
shell32.dll.SHGetStockIconInfo, aborting
fixme:seh:RtlUnwind Not implemented on ARM
fixme:thread:InitializeSRWLock (0x1009cc8c): stub
err:module:attach_process_dlls "ClassicStartMenuDLL.dll" failed to initialize,
aborting
err:module:LdrInitializeThunk Main exe initialization for
L"Z:\\home\\linaro\\wine-apps\\classicmenu\\ClassicStartMenu.exe" failed,
status 80000100
--- snip ---
$ wine --version
wine-1.5.23-7-gf0a88fb
Patches from Detlef Riekenberg here:
http://source.winehq.org/patches/data/94077http://source.winehq.org/patches/data/94078
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=34400
Bug #: 34400
Summary: Classic Shell/Classic Start Menu crashes on startup
due to unimplemented function
shell32.dll.SHExtractIconsW
Product: Wine
Version: 1.7.1
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: shell32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
as the summary says...
--- snip ---
0026:Call KERNEL32.RaiseException(80000100,00000001,00000002,40daeb80)
ret=413d0038
0026:trace:seh:raise_exception info[0]=413d00b8
0026:trace:seh:raise_exception info[1]=413d04fa
wine: Call from 0x404d9388 to unimplemented function
shell32.dll.SHExtractIconsW, aborting
0026:trace:seh:call_stack_handlers calling handler at 0x404f9418 code=80000100
flags=1
0026:trace:seh:RtlUnwind code=80000100 flags=3
...
0026:err:module:attach_process_dlls "ClassicStartMenuDLL.dll" failed to
initialize, aborting
0026:err:module:LdrInitializeThunk Main exe initialization for
L"Z:\\home\\linaro\\wine-apps\\classicmenu\\ClassicStartMenu.exe" failed,
status 80000100
--- snip ---
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=34402
Bug #: 34402
Summary: Multiple applications ported to WinRT/ARM require
atl110.dll (Halite torrent client for Windows RT )
Product: Wine
Version: 1.7.1
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: atl
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
as the summary says ...
--- snip ---
$ wine ./Halite.exe
err:module:import_dll Library atl110.DLL (which is needed by
L"Z:\\home\\linaro\\wine-apps\\halite\\Halite.exe") not found
err:module:LdrInitializeThunk Main exe initialization for
L"Z:\\home\\linaro\\wine-apps\\halite\\Halite.exe" failed, status c0000135
--- snip ---
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=34947
Bug #: 34947
Summary: Creo Elements: Oversized dialog window
Product: Wine
Version: 1.7.6
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: lukasz.wojnilowicz(a)gmail.com
Classification: Unclassified
Created attachment 46570
--> http://bugs.winehq.org/attachment.cgi?id=46570
Oversized dialog window
Steps to reproduce:
1) remove ~/.wine
2) wine Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
3) do default installation
Behaviour:
At the end of installation I get oversized dialog (see attachment).
Expected behaviour:
No oversized dialog.
Terminal output on wine-1.7.6-158-g6ceb564:
fixme:storage:create_storagefile Storage share mode not implemented.
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid
{000c109e-0000-0000-c000-000000000046}
err:module:attach_process_dlls "redirect.dll" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program
Files\\PTC\\Creo Elements\\Direct Modeling Express
4.0\\binNT\\SolidDesigner.exe" failed, status 2c
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
err:module:attach_process_dlls "redirect.dll" failed to initialize, aborting
--
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.
https://bugs.winehq.org/show_bug.cgi?id=46772
Bug ID: 46772
Summary: Creo Elements/Direct Modeling Express 6.0 installer
fails with VBScript parser error: parser_lex '_' not
followed by newline
Product: Wine
Version: 4.3
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: vbscript
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
encountered while revisiting bug 27827 and bug 38950
The installer fails now which is a regression.
--- snip ---
$ WINEDEBUG=+seh,+relay,+msi,+vbscript,+ole,+variant wine
./ModelingPE__setup_EN.exe >>log.txt 2>&1
...
0048:trace:msi:ACTION_CustomAction Handling custom action L"ExportProperties"
(6 L"NewBinary20" L"ExportProperties")
0048:trace:msi:HANDLE_CustomType5_6 L"NewBinary20" L"ExportProperties"
...
0053:trace:msi:ACTION_CallScript function L"ExportProperties", script L"option
explicit\r\non error resume next\r\n\r\nfunction ExportProperties( )\r\n\r\n
Dim svLang\r\n Dim svInstallLang\r\n Dim svLanguageID\r\n \r\n On Error
Resume Next\r\n\r\n svLang = Session.Property( \"UserLanguageID\" )\r\n\r\n
Select Case svLang\r\n\r\n Case \"1031\", \"2055\", \"307"...
...
0053:trace:vbscript:VBScript_AddNamedItem (0x5e2bf8)->(L"Session" a)
...
0053:trace:vbscript:VBScriptParse_ParseScriptText (0x5e2bf8)->(L"option
explicit\r\non error resume next\r\n\r\nfunction ExportProperties( )\r\n\r\n
Dim svLang\r\n Dim svInstallLang\r\n Dim svLanguageID\r\n \r\n On Error
Resume Next\r\n\r\n svLang = Session.Property( \"UserLanguageID\" )\r\n\r\n
Select Case svLang\r\n\r\n Case \"1031\", \"2055\", \"307"... (null) (nil)
(null) 0 0 0 (nil) (nil))
...
0053:fixme:vbscript:parser_lex '_' not followed by newline
0053:fixme:vbscript:parse_script parser failed around L"\", \"5129\", \"6153\",
_\r\n \"7177\", \"8201\", \"9225\", \"10249\", \"11273\"\r\n
svInstallLang = \"english\"\r\n svLanguageID = \"1033\"\r\n\r\n
Case \"1034\", \"2058\", \"3082\", \"4106\", \"5130\", \"6154\", \"7178\",
\"8202\", \"9226\", _\r\n \"10250\", \"11"...
...
0053:trace:msi:ScriptThread custom action (53) returned 1603
...
0048:err:msi:ITERATE_Actions Execution halted, action L"ExportProperties"
returned 1603
--- snip ---
The embedded VB scriptlet with all DOS line-endings (CR+LF), including
multi-line statements.
--- snip ---
option explicit
on error resume next
function ExportProperties( )
Dim svLang
Dim svInstallLang
Dim svLanguageID
On Error Resume Next
svLang = Session.Property( "UserLanguageID" )
Select Case svLang
Case "1031", "2055", "3079", "4103", "5127"
svInstallLang = "german"
svLanguageID = "1031"
Case "1033", "2057", "3081", "4105", "5129", "6153", _
"7177", "8201", "9225", "10249", "11273"
svInstallLang = "english"
svLanguageID = "1033"
Case "1034", "2058", "3082", "4106", "5130", "6154", "7178", "8202",
"9226", _
"10250", "11274", "12298", "13322", "14346", "15370", "16394",
"17418", _
"18442", "19466", "20490"
svInstallLang = "spanish"
svLanguageID = "1034"
Case "1036", "2060", "3084", "4108", "5132"
svInstallLang = "french"
svLanguageID = "1036"
Case "1040", "2064"
svInstallLang = "italian"
svLanguageID = "1040"
Case "1041"
svInstallLang = "japanese"
svLanguageID = "1041"
Case Else
svInstallLang = svLang
svLanguageID = svLang
End Select
Session.Property( "InstallLanguage" ) = svInstallLang
Session.Property( "GroupLanguageID" ) = svLanguageID
ExportProperties = 0
End Function
--- snip ---
The regression is caused by
https://source.winehq.org/git/wine.git/commitdiff/5800c9ed23a5c720843445d91…
$ git show 5800c9ed23a5c720843445d91c8547925493df8a
commit 5800c9ed23a5c720843445d91c8547925493df8a
Author: Zebediah Figura <z.figura12(a)gmail.com>
Date: Sat Jun 16 19:05:30 2018 -0500
vbscript: Treat \r as a newline separator.
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
Reverting this commit on top of current master HEAD makes the installer work
again.
$ sha1sum ModelingPE__setup_EN.exe
333736c553c2eb985436e63f20bfcbb59932b6fb ModelingPE__setup_EN.exe
$ du -sh ModelingPE__setup_EN.exe
207M ModelingPE__setup_EN.exe
$ wine --version
wine-4.3
Regards
--
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=33500
Bug #: 33500
Summary: Creo Elements/Direct Modeling Express 4.0 fails to
install (msi script custom action return value
translation too restrictive)
Product: Wine
Version: 1.5.29
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
while revisiting bug 27827 it seems the app installer now fails.
The translation of the return value of a vbscript function called in msi custom
action is the culprit.
"OSDM.msi" gets extracted from
"Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe" and can be run
directly.
--- snip ---
$ wine msiexec -i OSDM.msi
...
0028:trace:msi:ScriptThread custom action (28) started
0028:trace:msi:ACTION_CallScript function L"ExportProperties", script L"option
explicit\r\non error resume next\r\n\r\nfunction ExportProperties( )\r\n\r\n
Dim svLang\r\n Dim svInstallLang\r\n Dim svLanguageID\r\n \r\n On Error
Resume Next\r\n\r\n svLang = Session.Property( \"UserLanguageID\" )\r\n\r\n
Select Case svLang\r\n\r\n Case \"1031\", \"2055\", \"307"...
...
0028:trace:msi:MsiActiveScriptSite_OnEnterScript (0x4dfc50)
...
0028:trace:msi:MsiActiveScriptSite_OnLeaveScript (0x4dfc50)
0028:trace:msi:MsiActiveScriptSite_OnStateChange State: Connected.
0028:trace:msi:call_script Calling function L"ExportProperties"
...
0028:trace:msi:MsiActiveScriptSite_OnEnterScript (0x4dfc50)
...
0028:trace:msi:MsiActiveScriptSite_OnLeaveScript (0x4dfc50)
0028:Call oleaut32.VariantChangeType(00a7e848,00a7e848,00000000,00000003)
ret=7ecfc53b
0028:Ret oleaut32.VariantChangeType() retval=00000000 ret=7ecfc53b
0028:Call oleaut32.VariantClear(00a7e848) ret=7ecfc570
0028:Ret oleaut32.VariantClear() retval=00000000 ret=7ecfc570
0028:trace:msi:MsiActiveScriptSite_OnStateChange State: Disconnected.
0028:trace:msi:MsiActiveScriptSite_OnStateChange State: Initialized.
0028:trace:msi:MsiActiveScriptSite_OnStateChange State: Closed.
...
0028:Ret ole32.CoUninitialize() retval=00000000 ret=7ecfc6db
0028:trace:msi:ACTION_CallScript script returned 1603
0028:trace:msi:MsiCloseHandle 1
0028:trace:msi:ScriptThread custom action (28) returned 1603
0028:trace:msi:MsiCloseAllHandles
...
0024:err:msi:ITERATE_Actions Execution halted, action L"ExportProperties"
returned 1603
--- snip ---
The embedded vbscript source code of "ExportProperties" function:
--- snip ---
option explicit
on error resume next
function ExportProperties( )
Dim svLang
Dim svInstallLang
Dim svLanguageID
On Error Resume Next
svLang = Session.Property( "UserLanguageID" )
Select Case svLang
Case "1031", "2055", "3079", "4103", "5127"
svInstallLang = "german"
svLanguageID = "1031"
Case "1033", "2057", "3081", "4105", "5129", "6153", _
"7177", "8201", "9225", "10249", "11273"
svInstallLang = "english"
svLanguageID = "1033"
Case "1034", "2058", "3082", "4106", "5130", "6154", "7178", "8202",
"9226", _
"10250", "11274", "12298", "13322", "14346", "15370", "16394",
"17418", _
"18442", "19466", "20490"
svInstallLang = "spanish"
svLanguageID = "1034"
Case "1036", "2060", "3084", "4108", "5132"
svInstallLang = "french"
svLanguageID = "1036"
Case "1040", "2064"
svInstallLang = "italian"
svLanguageID = "1040"
Case "1041"
svInstallLang = "japanese"
svLanguageID = "1041"
Case Else
svInstallLang = svLang
svLanguageID = svLang
End Select
Session.Property( "InstallLanguage" ) = svInstallLang
Session.Property( "GroupLanguageID" ) = svLanguageID
ExportProperties = 0
End Function
--- snip ---
"ExportProperties" explicitly returns "0" (msiDoActionStatusNoAction), no other
code path.
Wine source:
http://source.winehq.org/git/wine.git/blob/3b0179cbde19e650804cb3b5a8185762…
--- snip ---
279 DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR
function, LPCWSTR action)
280 {
281 HRESULT hr;
282 IActiveScript *pActiveScript = NULL;
283 IActiveScriptParse *pActiveScriptParse = NULL;
284 MsiActiveScriptSite *scriptsite;
285 IDispatch *pDispatch = NULL;
286 DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};
287 DISPID dispid;
288 CLSID clsid;
289 VARIANT var;
290 DWORD ret = ERROR_INSTALL_FAILURE;
291
292 CoInitialize(NULL);
...
344 /* Call a function if necessary through the IDispatch interface */
345 if (function != NULL && strlenW(function) > 0) {
346 TRACE("Calling function %s\n", debugstr_w(function));
347
348 hr = IActiveScript_GetScriptDispatch(pActiveScript, NULL,
&pDispatch);
349 if (FAILED(hr)) goto done;
350
351 hr = IDispatch_GetIDsOfNames(pDispatch, &IID_NULL, (WCHAR
**)&function, 1,LOCALE_USER_DEFAULT, &dispid);
352 if (FAILED(hr)) goto done;
353
354 hr = IDispatch_Invoke(pDispatch, dispid, &IID_NULL,
LOCALE_USER_DEFAULT, DISPATCH_METHOD, &dispparamsNoArgs, &var, NULL, NULL);
355 if (FAILED(hr)) goto done;
356
357 /* Check return value, if it's not IDOK we failed */
358 hr = VariantChangeType(&var, &var, 0, VT_I4);
359 if (FAILED(hr)) goto done;
360
361 if (V_I4(&var) == IDOK)
362 ret = ERROR_SUCCESS;
363 else ret = ERROR_INSTALL_FAILURE;
364
365 VariantClear(&var);
366 } else {
367 /* If no function to be called, MSI behavior is to succeed */
368 ret = ERROR_SUCCESS;
369 }
...
--- snip ---
MSDN:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa371254%28v=vs.85%…
--- quote ---
Custom actions written in JScript or Visual Basic, Scripting Edition (VBScript)
can call an optional function. These functions must return one of the values
shown in the following table.
Return value Value Description
msiDoActionStatusNoAction 0 Action not executed.
msiDoActionStatusSuccess IDOK = 1 Action completed successfully.
msiDoActionStatusUserExit IDCANCEL = 2 Premature termination by user.
msiDoActionStatusFailure IDABORT = 3 Unrecoverable error. Returned if
there is an error during parsing or execution of the JScript or VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Suspended sequence to be resumed
later.
msiDoActionStatusFinished IDIGNORE = 5 Skip remaining actions. Not an
error.
Note that Windows Installer translates the return values from all actions when
it writes the return value into the log file. For example, if the action return
value appears as 1 (one) in the log file, this means that the action returned
msiDoActionStatusSuccess. For more information about this translation see
Logging of Action Return Values.
To return a value other than success from a script custom action, you must use
a function target for the custom action. The target function is specified in
the Target column of the CustomAction Table.
--- quote ---
Translating everything not "IDOK" to ERROR_INSTALL_FAILURE seems overly
restrictive.
$ du -sh Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
157M Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
$ sha1sum Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
4b77817ac55bf4cbbd85f02949d8d97e9a0ca19a
Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
$ wine --version
wine-1.5.29-38-g8e4317c
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.