[Wine-patches] [eter-2.1] msi: Add a hack to make 1CBarCode installation complete. (eterbug #8375)
Dmitry Timoshkov
dtimoshkov на etersoft.ru
Ср Июл 29 07:20:06 MSK 2015
---
dlls/msi/package.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index 1dbe5f7..9b16fa7 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -2346,6 +2346,31 @@ done:
if (row)
val = msi_record_get_string( row, 1, (int *)&len );
+ /* Hack for 1CBarCode MSI installer (eterbug #8375) */
+ if (!val)
+ {
+ static const WCHAR issetupdrivenW[] = {'I','S','S','E','T','U','P','D','R','I','V','E','N',0};
+ static const WCHAR ProductCodeW[] = {'P','r','o','d','u','c','t','C','o','d','e',0};
+ static const WCHAR _1C_bar_code[] = {'{','4','8','E','6','B','3','9','F','-','F','6','8','6','-','4','3','2','7','-','8','B','E','D','-','0','D','5','A','E','D','F','2','E','5','6','F','}',0};
+ static const WCHAR _1W[] = {'1',0};
+
+ if (!strcmpW(name, issetupdrivenW))
+ {
+ MSIRECORD *row_product = msi_get_property_row( package->db, ProductCodeW );
+ if (row_product)
+ {
+ LPCWSTR val_product = MSI_RecordGetString( row_product, 1 );
+ TRACE("local: package %s asked for ISSETUPDRIVEN\n", debugstr_w(val_product));
+ if (!strcmpW(val_product, _1C_bar_code))
+ {
+ TRACE("setting %s to %s\n", debugstr_w(name), debugstr_w(_1W));
+ val = _1W;
+ }
+ msiobj_release( &row_product->hdr );
+ }
+ }
+ }
+
if (!val)
val = szEmpty;
--
2.4.5
Подробная информация о списке рассылки Wine-patches