如何在自定义操作DLL(MSI / Wix)中获取“INSTALLED”属性?

时间:2017-05-05 07:35:29

标签: c++ visual-c++ dll wix windows-installer

在我的自定义DLL中,我需要检查是否正在安装或卸载产品,因此需要获取"INSTALLED"属性的值(就像在WiX脚本中一样)。这是我在C ++ DLL中所做的事情:

WCHAR propValue[MAX_PATH];
DWORD propValLen = MAX_PATH;
// MSIHANDLE msiHandle; 
MsiGetProperty(msiHandle, L"INSTALLED", propValue, &propValLen);
propValue[propValLen] = 0;

但结果总是一个空字符串(用于安装和卸载)!如何检查产品是否正在安装或卸载?

1 个答案:

答案 0 :(得分:3)

属性名称区分大小写,它是“已安装”:https://msdn.microsoft.com/en-us/library/windows/desktop/aa369297(v=vs.85).aspx