Use the new msi_reg_set* macros where possible.
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 7e9d0ef..efd933d 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -2340,8 +2340,7 @@
hkey = openSharedDLLsKey();
if (count > 0)
- RegSetValueExW(hkey,path,0,REG_DWORD,
- (LPBYTE)&count,sizeof(count));
+ msi_reg_set_val_dword( hkey, path, count );
else
RegDeleteValueW(hkey,path);
RegCloseKey(hkey);
@@ -2484,19 +2483,16 @@
if (keypath)
{
- RegSetValueExW(hkey2,squished_pc,0,REG_SZ,(LPBYTE)keypath,
- (strlenW(keypath)+1)*sizeof(WCHAR));
+ msi_reg_set_val_str( hkey2, squished_pc, keypath );
if (comp->Attributes & msidbComponentAttributesPermanent)
{
static const WCHAR szPermKey[] =
{ '0','0','0','0','0','0','0','0','0','0','0','0',
- '0','0','0','0','0','0','0', '0','0','0','0','0',
+ '0','0','0','0','0','0','0','0','0','0','0','0',
'0','0','0','0','0','0','0','0',0};
- RegSetValueExW(hkey2,szPermKey,0,REG_SZ,
- (LPBYTE)keypath,
- (strlenW(keypath)+1)*sizeof(WCHAR));
+ msi_reg_set_val_str( hkey2, szPermKey, keypath );
}
RegCloseKey(hkey2);
@@ -2976,16 +2972,12 @@
buffer = load_dynamic_property(package,INSTALLPROPERTY_PRODUCTNAMEW,NULL);
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hukey,INSTALLPROPERTY_PRODUCTNAMEW,0,REG_SZ,
- (LPBYTE)buffer,size);
+ msi_reg_set_val_str( hukey, INSTALLPROPERTY_PRODUCTNAMEW, buffer );
HeapFree(GetProcessHeap(),0,buffer);
buffer = load_dynamic_property(package,szProductLanguage,NULL);
- size = sizeof(DWORD);
langid = atoiW(buffer);
- RegSetValueExW(hukey,INSTALLPROPERTY_LANGUAGEW,0,REG_DWORD,
- (LPBYTE)&langid,size);
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_LANGUAGEW, langid );
HeapFree(GetProcessHeap(),0,buffer);
buffer = load_dynamic_property(package,szARPProductIcon,NULL);
@@ -2993,9 +2985,7 @@
{
LPWSTR path;
build_icon_path(package,buffer,&path);
- size = strlenW(path) * sizeof(WCHAR);
- RegSetValueExW(hukey,INSTALLPROPERTY_PRODUCTICONW,0,REG_SZ,
- (LPBYTE)path,size);
+ msi_reg_set_val_str( hukey, INSTALLPROPERTY_PRODUCTICONW, path );
}
HeapFree(GetProcessHeap(),0,buffer);
@@ -3003,9 +2993,7 @@
if (buffer)
{
DWORD verdword = build_version_dword(buffer);
- size = sizeof(DWORD);
- RegSetValueExW(hukey,INSTALLPROPERTY_VERSIONW,0,REG_DWORD, (LPBYTE
- )&verdword,size);
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONW, verdword );
}
HeapFree(GetProcessHeap(),0,buffer);
@@ -3027,9 +3015,7 @@
LPWSTR ptr = strchrW(guidbuffer,';');
if (ptr) *ptr = 0;
squash_guid(guidbuffer,squashed);
- size = strlenW(squashed)*sizeof(WCHAR);
- RegSetValueExW(hukey,INSTALLPROPERTY_PACKAGECODEW,0,REG_SZ,
- (LPBYTE)squashed, size);
+ msi_reg_set_val_str( hukey, INSTALLPROPERTY_PACKAGECODEW, squashed );
}
else
{
@@ -3299,8 +3285,7 @@
strcatW(data,feature->Feature_Parent);
}
- size = (strlenW(data)+1)*sizeof(WCHAR);
- RegSetValueExW( hkey, feature->Feature, 0, REG_SZ, (LPBYTE)data,size );
+ msi_reg_set_val_str( hkey, feature->Feature, data );
HeapFree(GetProcessHeap(),0,data);
size = 0;
@@ -3337,8 +3322,7 @@
LPWSTR buffer = NULL;
UINT rc,i;
DWORD size;
- static WCHAR szNONE[] = {0};
- static const WCHAR szWindowsInstaler[] =
+ static const WCHAR szWindowsInstaller[] =
{'W','i','n','d','o','w','s','I','n','s','t','a','l','l','e','r',0};
static const WCHAR szPropKeys[][80] =
{
@@ -3416,21 +3400,15 @@
/* dump all the info i can grab */
FIXME("Flesh out more information \n");
- i = 0;
- while (szPropKeys[i][0]!=0)
+ for( i=0; szPropKeys[i][0]; i++ )
{
- buffer = load_dynamic_property(package,szPropKeys[i],&rc);
- if (rc != ERROR_SUCCESS)
- buffer = szNONE;
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hkey,szRegKeys[i],0,REG_SZ,(LPBYTE)buffer,size);
+ buffer = load_dynamic_property( package, szPropKeys[i], NULL);
+ msi_reg_set_val_str( hkey, szRegKeys[i], buffer );
HeapFree(GetProcessHeap(),0,buffer);
i++;
}
- rc = 0x1;
- size = sizeof(rc);
- RegSetValueExW(hkey,szWindowsInstaler,0,REG_DWORD,(LPBYTE)&rc,size);
+ msi_reg_set_val_dword( hkey, szWindowsInstaller, 1 );
/* copy the package locally */
num = GetTickCount() & 0xffff;
@@ -3463,9 +3441,7 @@
ERR("Unable to copy package (%s -> %s) (error %ld)\n",
debugstr_w(package->msiFilePath), debugstr_w(packagefile),
GetLastError());
- size = strlenW(packagefile)*sizeof(WCHAR);
- RegSetValueExW(hkey,INSTALLPROPERTY_LOCALPACKAGEW,0,REG_SZ,
- (LPBYTE)packagefile,size);
+ msi_reg_set_val_str( hkey, INSTALLPROPERTY_LOCALPACKAGEW, packagefile );
/* do ModifyPath and UninstallString */
size = deformat_string(package,modpath_fmt,&buffer);
@@ -3474,37 +3450,27 @@
HeapFree(GetProcessHeap(),0,buffer);
FIXME("Write real Estimated Size when we have it\n");
- size = 0;
- RegSetValueExW(hkey,szEstimatedSize,0,REG_DWORD,(LPBYTE)&size,sizeof(DWORD));
+ msi_reg_set_val_dword( hkey, szEstimatedSize, 0 );
GetLocalTime(&systime);
size = 9*sizeof(WCHAR);
buffer= HeapAlloc(GetProcessHeap(),0,size);
sprintfW(buffer,date_fmt,systime.wYear,systime.wMonth,systime.wDay);
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hkey,INSTALLPROPERTY_INSTALLDATEW,0,REG_SZ,
- (LPBYTE)buffer,size);
+ msi_reg_set_val_str( hkey, INSTALLPROPERTY_INSTALLDATEW, buffer );
HeapFree(GetProcessHeap(),0,buffer);
buffer = load_dynamic_property(package,szProductLanguage,NULL);
- size = atoiW(buffer);
- RegSetValueExW(hkey,INSTALLPROPERTY_LANGUAGEW,0,REG_DWORD,
- (LPBYTE)&size,sizeof(DWORD));
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_LANGUAGEW, atoiW(buffer) );
HeapFree(GetProcessHeap(),1,buffer);
buffer = load_dynamic_property(package,szProductVersion,NULL);
if (buffer)
{
DWORD verdword = build_version_dword(buffer);
- DWORD vermajor = verdword>>24;
- DWORD verminor = (verdword>>16)&0x00FF;
- size = sizeof(DWORD);
- RegSetValueExW(hkey,INSTALLPROPERTY_VERSIONW,0,REG_DWORD,
- (LPBYTE)&verdword,size);
- RegSetValueExW(hkey,INSTALLPROPERTY_VERSIONMAJORW,0,REG_DWORD,
- (LPBYTE)&vermajor,size);
- RegSetValueExW(hkey,INSTALLPROPERTY_VERSIONMINORW,0,REG_DWORD,
- (LPBYTE)&verminor,size);
+
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONW, verdword );
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONMAJORW, verdword>>24 );
+ msi_reg_set_val_dword( hkey, INSTALLPROPERTY_VERSIONMINORW, (verdword>>16)&0x00FF );
}
HeapFree(GetProcessHeap(),0,buffer);
@@ -3516,11 +3482,11 @@
WCHAR squashed[33];
MSIREG_OpenUpgradeCodesKey(upgrade_code, &hkey2, TRUE);
squash_guid(package->ProductCode,squashed);
- RegSetValueExW(hkey2, squashed, 0,REG_SZ,NULL,0);
+ msi_reg_set_val_str( hkey2, squashed, NULL );
RegCloseKey(hkey2);
MSIREG_OpenUserUpgradeCodesKey(upgrade_code, &hkey2, TRUE);
squash_guid(package->ProductCode,squashed);
- RegSetValueExW(hkey2, squashed, 0,REG_SZ,NULL,0);
+ msi_reg_set_val_str( hkey2, squashed, NULL );
RegCloseKey(hkey2);
HeapFree(GetProcessHeap(),0,upgrade_code);
@@ -3591,8 +3557,7 @@
'R','U','N','O','N','C','E','E','N','T','R','Y','=','\"','%','s','\"',0};
WCHAR buffer[256], sysdir[MAX_PATH];
HKEY hkey;
- WCHAR squished_pc[100];
- DWORD size;
+ WCHAR squished_pc[100];
if (!package)
return ERROR_INVALID_HANDLE;
@@ -3604,8 +3569,7 @@
snprintfW(buffer,sizeof(buffer)/sizeof(buffer[0]),msiexec_fmt,sysdir,
squished_pc);
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hkey,squished_pc,0,REG_SZ,(LPBYTE)buffer,size);
+ msi_reg_set_val_str( hkey, squished_pc, buffer );
RegCloseKey(hkey);
TRACE("Reboot command %s\n",debugstr_w(buffer));
@@ -3613,8 +3577,7 @@
RegCreateKeyW(HKEY_LOCAL_MACHINE,InstallRunOnce,&hkey);
sprintfW(buffer,install_fmt,package->ProductCode,squished_pc);
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hkey,squished_pc,0,REG_SZ,(LPBYTE)buffer,size);
+ msi_reg_set_val_str( hkey, squished_pc, buffer );
RegCloseKey(hkey);
return ERROR_INSTALL_SUSPEND;
@@ -3677,7 +3640,6 @@
LPWSTR buffer;
LPWSTR productid;
UINT rc,i;
- DWORD size;
static const WCHAR szPropKeys[][80] =
{
@@ -3709,14 +3671,8 @@
i = 0;
while (szPropKeys[i][0]!=0)
{
- buffer = load_dynamic_property(package,szPropKeys[i],&rc);
- if (rc == ERROR_SUCCESS)
- {
- size = strlenW(buffer)*sizeof(WCHAR);
- RegSetValueExW(hkey,szRegKeys[i],0,REG_SZ,(LPBYTE)buffer,size);
- }
- else
- RegSetValueExW(hkey,szRegKeys[i],0,REG_SZ,NULL,0);
+ buffer = load_dynamic_property( package, szPropKeys[i], NULL );
+ msi_reg_set_val_str( hkey, szRegKeys[i], buffer );
i++;
}
@@ -3883,7 +3839,6 @@
LPWSTR name;
LPCWSTR filename;
MSIFILE *file;
- DWORD size;
static const WCHAR regfont1[] =
{'S','o','f','t','w','a','r','e','\\',
'M','i','c','r','o','s','o','f','t','\\',
@@ -3925,9 +3880,8 @@
if (name)
{
- size = strlenW( file->FileName ) * sizeof(WCHAR);
- RegSetValueExW( hkey1, name, 0, REG_SZ, (LPBYTE)file->FileName, size );
- RegSetValueExW( hkey2, name, 0, REG_SZ, (LPBYTE)file->FileName, size );
+ msi_reg_set_val_str( hkey1, name, file->FileName );
+ msi_reg_set_val_str( hkey2, name, file->FileName );
}
HeapFree(GetProcessHeap(),0,name);
@@ -4012,8 +3966,7 @@
if (text)
strcatW(output,text);
- sz = (lstrlenW(output)+2) * sizeof(WCHAR);
- RegSetValueExW(hkey, qualifier,0,REG_MULTI_SZ, (LPBYTE)output, sz);
+ msi_reg_set_val_multi_str( hkey, qualifier, output );
end:
RegCloseKey(hkey);