我的 MSI 设置中有 MYPATH 属性,并且我正在将一些组件安装到此路径。现在我想获取我的组件安装的路径。我正在使用以下代码:
INSTALLUILEVEL pervousUILevel = MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
MSIHANDLE handle = NULL;
MsiOpenProduct(productCode,&handle);
wchar_t myPath[2048];
DWORD dwBuffer = 2048;
MsiGetProductProperty(handle, L"MYPATH", myPath, &dwBuffer);
MsiCloseHandle(handle);
MsiSetInternalUI(pervousUILevel, NULL);
但我仍然得到默认值“C:\MyDefaultPath”而不是“C:\我在安装期间指定的路径”。我究竟做错了什么?
谢谢
编辑:
我发现代码:
wchar_t myPath[4096];
DWORD isBuffer = 4096;
MsiGetComponentPath(productCode, L"{component-guid}", myPath, &isBuffer);
还返回默认路径。