[Bug 10085] Adobe Bridge CS2 complains that it can't start due to licensing restrictions (affects photoshop)
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Jun 9 06:35:34 CDT 2014
https://bugs.winehq.org/show_bug.cgi?id=10085
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |Installer
CC| |focht at gmx.net
Component|-unknown |msi
Hardware|Other |x86
OS|other |Linux
--- Comment #27 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
The file in question is created during a custom action in a temp location
'C:\\users\\focht\\Temp\\install.adb'.
The same action inserts an entry into 'MoveFile' table to have the file moved
to its final location.
--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+msi wine msiexec -i Adobe\ Bridge\ 1.0.msi
>>log.txt 2>&1
...
0023:trace:msi:ACTION_PerformUIAction Performing action
(L"AMT_WriteInstallationMetadata")
...
0023:trace:msi:ACTION_CustomAction Handling custom action
L"AMT_WriteInstallationMetadata" (1
L"AppManagementCALib.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6"
L"AMT_WriteInstallationMetadata")
...
0023:trace:msi:HANDLE_CustomType1 Calling function
L"AMT_WriteInstallationMetadata" from L"C:\\users\\focht\\Temp\\msi44ef.tmp"
...
0025:trace:msi:ACTION_CallDllFunction calling L"AMT_WriteInstallationMetadata"
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1058 "(Adobe) BEGIN -
AMT_WriteInstallationMetadata ") ret=00590d5c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b0fa0 "(Adobe)
Requesting property: INSTALLDIR ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b10c8 "(Adobe) Value:
C:\\Program Files\\Adobe\\Adobe Bridge\\ ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b10b0 "(Adobe) Writing
XML to filepath: C:\\users\\focht\\Temp\\install.adb ") ret=0059110c
...
0025:Call KERNEL32.CreateFileA(017b0cf0
"C:\\users\\focht\\Temp\\install.adb",40000000,00000003,019be5dc,00000002,00000080,00000000)
ret=005a12b5
0025:Ret KERNEL32.CreateFileA() retval=00000094 ret=005a12b5
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: ProductName ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b11a8 "(Adobe) Value:
Adobe Bridge 1.0 ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: ProductCode ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1210 "(Adobe) Value:
{B74D4E10-1033-0000-0000-000000000001} ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: UpgradeCode ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1210 "(Adobe) Value:
{B74D4E10-1033-0000-0000-8747ADE00001} ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: PackageCode ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1210 "(Adobe) Value:
{FF104279-7BA2-4C5D-A6AB-49ADA9CE25F1} ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: SIFFullPath ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1210 "(Adobe) Value:
C:\\Program Files\\Adobe\\Adobe Bridge\\0 ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1110 "(Adobe)
Requesting property: CSAFullPath ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1210 "(Adobe) Value:
C:\\Program Files\\Adobe\\Adobe Bridge\\0 ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b11c0 "(Adobe) Setting
property: AMTMetadataXmlSrc.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6 ")
ret=0059110c
...
0025:Call msi.MsiSetPropertyA(00000002,017b0a88
"AMTMetadataXmlSrc.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6",017b1008
"C:\\users\\focht\\Temp\\install.adb") ret=005926b9
...
0025:Call msi.MsiRecordSetStringA(00000003,00000000,017b1188 "(Adobe) New
value: C:\\users\\focht\\Temp\\install.adb ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000005,00000001,017b3500
"MoveXML.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6") ret=0058ed54
...
0025:Call msi.MsiRecordSetStringA(00000005,00000002,017b3510
"AppMetadata.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6") ret=0058ed54
...
0025:Call msi.MsiRecordSetStringA(00000005,00000005,017b3510
"AMTMetadataXmlSrc.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6") ret=0058ed54
...
0025:Call msi.MsiRecordSetStringA(00000005,00000006,017b3500
"INSTALLDIR.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6") ret=0058ed54
...
0025:trace:msi:MSI_DatabaseOpenViewW L"select * from `_Columns` where `Table` =
'MoveFile'" 0x19be178
...
0025:Call msi.MsiDatabaseOpenViewA(00000004,017b3660 "Select * FROM
`MoveFile`",019be58c) ret=0058ef25
0025:trace:msi:MsiDatabaseOpenViewA 4 "Select * FROM `MoveFile`" 0x19be58c
...
0025:trace:msi:MSI_ParseSQL Parse returned 0
0025:trace:msi:alloc_msihandle 0x6c8260 -> 6
...
0025:Ret msi.MsiDatabaseOpenViewA() retval=00000000 ret=0058ef25
0025:Call msi.MsiViewModify(00000006,00000007,00000005) ret=0058ef40
0025:trace:msi:MsiViewModify 6 7 5
...
0025:Ret msi.MsiViewModify() retval=00000000 ret=0058ef40
...
0025:Call msi.MsiRecordSetStringA(00000005,00000000,017b3640 "(Adobe) Made
MoveFile Table entry ") ret=0059110c
...
0025:Call msi.MsiRecordSetStringA(00000004,00000000,017b36b0 "(Adobe) END -
AMT_WriteInstallationMetadata ") ret=00590d5c
...
0025:trace:msi:DllThread custom action (25) returned 0
--- snip ---
The temp file 'C:\\users\\focht\\Temp\\install.adb' content:
--- snip ---
<?xml version="1.0" encoding="UTF-8" ?>
<ApplicationInfo>
<ProductName>Adobe Bridge
1.0</ProductName><ProductCode>{B74D4E10-1033-0000-0000-000000000001}</ProductCode><UpgradeCode>{B74D4E10-1033-0000-0000-8747ADE00001}</UpgradeCode><PackageCode>{FF104279-7BA2-4C5D-A6AB-49ADA9CE25F1}</PackageCode><SIFPath>C:\Program
Files\Adobe\Adobe Bridge\0</SIFPath><CSAPath>C:\Program Files\Adobe\Adobe
Bridge\0</CSAPath><ProductLanguage>1033</ProductLanguage><ProductVersion>001.000.000</ProductVersion><ALLUSERS>1</ALLUSERS><InstallDate>6/9/2014</InstallDate><InstallTime>10:45:58</InstallTime><InstallSourceDir>Z:\home\focht\Downloads\</InstallSourceDir><MSIDatabaseVersion>400</MSIDatabaseVersion><MSIRuntimeVersion>4.5</MSIRuntimeVersion></ApplicationInfo>
--- snip ---
MSI 'MoveFile' table is initially empty and gets filled at runtime during
custom actions.
ORCA dump:
--- snip ---
FileKey Component_ SourceName DestName SourceFolder DestFolder Options
s72 s72 L255 L255 S72 s72 i2
--- snip ---
Entries are inserted with columns 5,6,7 set to sane values.
Now the culprit ... Wine's handling of 'MoveFiles'
--- snip ---
...
0023:trace:msi:ACTION_PerformUIAction Performing action (L"MoveFiles")
...
0023:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action start
12:46:02: MoveFiles."
...
0023:trace:msi:msi_get_property returning
L"C:\\users\\focht\\Temp\\install.adb" for property
L"AMTMetadataXmlSrc.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6"
...
0023:trace:msi:msi_get_property returning L"C:\\Program Files\\Adobe\\Adobe
Bridge\\" for property L"INSTALLDIR.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6"
...
0023:Call KERNEL32.GetFileAttributesW(006c7ef0
L"C:\\users\\focht\\Temp\\install.adb") ret=7ecfbfc1
0023:Ret KERNEL32.GetFileAttributesW() retval=00000020 ret=7ecfbfc1
...
0023:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 200 L"File:
MoveXML.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6, Directory: C:\\Program
Files\\Adobe\\Adobe Bridge\\, Size: 1"
...
0023:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action ended
12:46:02: MoveFiles. Return value 0."
--- snip ---
No actual 'move' happened here.
Debugger session:
--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0x7ecfbfa5 ITERATE_MoveFiles+0x17c(rec=0xa36d08, param=0x142390)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/files.c:815] in msi
(0x0033f7c8)
1 0x7ed16917 MSI_IterateRecords+0x8a(view=0xa34e60, count=0x0(nil),
func=0x7ecfbe29, param=0x142390)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/msiquery.c:188] in msi
(0x0033f7f8)
2 0x7ecfc3ea ACTION_MoveFiles+0x64(package=0x142390)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/files.c:916] in msi
(0x0033f828)
3 0x7eccfece ACTION_HandleStandardAction+0xc3(package=0x142390,
action="MoveFiles", rc=0x33f8a8)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:7619] in msi
(0x0033f878)
Wine-dbg>info locals
0x7ecfbfa5 ITERATE_MoveFiles+0x17c: (0033f7c8)
MSIRECORD* rec=0xa36d08 (parameter [EBP+8])
LPVOID param=0x142390 (parameter [EBP+12])
MSIPACKAGE* package=0x142390 (local [EBP-32])
MSIRECORD* uirow=(nil) (local [EBP-76])
MSICOMPONENT* comp=0x1cdb40 (local [EBP-40])
LPCWSTR sourcename=0x0(nil) (local [EBP-52])
LPCWSTR component="AppMetadata.63EDEF4F_3240_49D0_A302_3AE1D1DA43F6" (local
[EBP-36])
LPWSTR sourcedir="C:\users\focht\Temp\install.adb" (local [EBP-60])
LPWSTR destname=0x0(nil) (local [EBP-12])
LPWSTR destdir="C:\Program Files\Adobe\Adobe Bridge\" (local [EBP-16])
LPWSTR source=0x0(nil) (local [EBP-20])
LPWSTR dest=0x0(nil) (local [EBP-24])
int options=0x1 (local [EBP-56])
DWORD size=0 (local [EBP-28])
BOOL wildcards=0x33f7c8 (local [EBP-64])
--- snip ---
Source:
http://source.winehq.org/git/wine.git/blob/7974b12ab1d452a4ae6b7488be25ab93f0a6a6dd:/dlls/msi/files.c#l784
--- snip ---
784 static UINT ITERATE_MoveFiles( MSIRECORD *rec, LPVOID param )
785 {
786 MSIPACKAGE *package = param;
787 MSIRECORD *uirow;
788 MSICOMPONENT *comp;
789 LPCWSTR sourcename, component;
790 LPWSTR sourcedir, destname = NULL, destdir = NULL, source = NULL, dest
= NULL;
791 int options;
792 DWORD size;
793 BOOL wildcards;
...
807 sourcename = MSI_RecordGetString(rec, 3);
808 options = MSI_RecordGetInteger(rec, 7);
809
810 sourcedir = msi_dup_property(package->db, MSI_RecordGetString(rec, 5));
811 if (!sourcedir)
812 goto done;
813
814 destdir = msi_dup_property(package->db, MSI_RecordGetString(rec, 6));
815 if (!destdir)
816 goto done;
817
818 if (!sourcename)
819 {
820 if (GetFileAttributesW(sourcedir) == INVALID_FILE_ATTRIBUTES)
821 goto done;
822
823 source = strdupW(sourcedir);
824 if (!source)
825 goto done;
826 }
...
840 wildcards = strchrW(source, '*') || strchrW(source, '?');
841
842 if (MSI_RecordIsNull(rec, 4))
843 {
844 if (!wildcards)
845 {
846 destname = strdupW(sourcename);
847 if (!destname)
848 goto done;
849 }
850 }
...
--- snip ---
The custom action didn't set 'SourceName' and 'DestName' for the entry (both
are nullable, see
http://msdn.microsoft.com/en-us/library/aa370055%28v=vs.85%29.aspx).
'SourceFolder' and 'DestFolder' are the important ones, everything missing
(nullable columns) must be derived in this case.
If you fix that the trial works (already tested).
$ sha1sum Photoshop_CS2.exe
88ee09b7a2030d82c9154dd3419252cd6e2db165 Photoshop_CS2.exe
$ du -sh Photoshop_CS2.exe
330M Photoshop_CS2.exe
$ wine --version
wine-1.7.19-70-gd6a59f7
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.
More information about the wine-bugs
mailing list