Module: wine Branch: refs/heads/master Commit: bf5791053716c6fab26e911e4370ecbf4b870f9f URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=bf5791053716c6fab26e911e...
Author: Mike McCormack mike@codeweavers.com Date: Tue Jul 18 18:45:41 2006 +0900
msi: Set properties, not the command line in MsiReinstallFeatureW.
---
dlls/msi/msi.c | 36 ++++++++++++++---------------------- 1 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index a488b12..e075c0e 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -1928,16 +1928,17 @@ UINT WINAPI MsiReinstallFeatureW( LPCWST { MSIPACKAGE* package = NULL; UINT r; - DWORD sz; WCHAR sourcepath[MAX_PATH]; WCHAR filename[MAX_PATH]; - static const WCHAR szInstalled[] = { - ' ','L','O','G','V','E','R','B','O','S','E','=','1',' ','I','n','s','t','a','l','l','e','d','=','1',0}; - static const WCHAR fmt[] = {'R','E','I','N','S','T','A','L','L','=','%','s',0}; - static const WCHAR REINSTALLMODE[] = {'R','E','I','N','S','T','A','L','L','M','O','D','E',0}; + static const WCHAR szLogVerbose[] = { + ' ','L','O','G','V','E','R','B','O','S','E',0 }; + static const WCHAR szInstalled[] = { 'I','n','s','t','a','l','l','e','d',0}; + static const WCHAR szReinstall[] = {'R','E','I','N','S','T','A','L','L',0}; + static const WCHAR szReinstallMode[] = {'R','E','I','N','S','T','A','L','L','M','O','D','E',0}; + static const WCHAR szOne[] = {'1',0}; WCHAR reinstallmode[11]; LPWSTR ptr; - LPWSTR commandline; + DWORD sz;
FIXME("%s %s %li\n", debugstr_w(szProduct), debugstr_w(szFeature), dwReinstallMode); @@ -1968,14 +1969,13 @@ UINT WINAPI MsiReinstallFeatureW( LPCWST
sz = sizeof(sourcepath); MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, - MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath, - &sz); + MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath, &sz);
sz = sizeof(filename); MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERMANAGED, MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEW, filename, &sz);
- strcatW(sourcepath,filename); + lstrcatW( sourcepath, filename );
if (dwReinstallMode & REINSTALLMODE_PACKAGE) r = MSI_OpenPackageW( sourcepath, &package ); @@ -1985,23 +1985,15 @@ UINT WINAPI MsiReinstallFeatureW( LPCWST if (r != ERROR_SUCCESS) return r;
- MSI_SetPropertyW(package,REINSTALLMODE,reinstallmode); + MSI_SetPropertyW( package, szReinstallMode, reinstallmode ); + MSI_SetPropertyW( package, szInstalled, szOne ); + MSI_SetPropertyW( package, szLogVerbose, szOne ); + MSI_SetPropertyW( package, szReinstall, szFeature );
- sz = lstrlenW(szInstalled); - sz += lstrlenW(fmt); - sz += lstrlenW(szFeature); - - commandline = msi_alloc(sz * sizeof(WCHAR)); - - sprintfW(commandline,fmt,szFeature); - lstrcatW(commandline,szInstalled); - - r = MSI_InstallPackage( package, sourcepath, commandline ); + r = MSI_InstallPackage( package, sourcepath, NULL );
msiobj_release( &package->hdr );
- msi_free(commandline); - return r; }