已尝试使用MsiSetProperty/MsiGetProperty方法设置/获取INSTALLDIR属性。但它在InstallscriptMSI项目中不起作用。这里我漏掉了什么?
在另一个论坛上遇到的,在某些情况下,Installshield属性的访问权限有限。
发布于 2012-05-29 13:03:16
备注:
MsiGetProperty和MsiSetProperty属性不能用于延迟的InstallScript自定义操作,因为这些操作无法访问active .msi数据库,并且无法识别任何Windows Installer属性。他们只能访问已写入执行脚本的信息。
示例:
// Include header file for built-in functions
#include "isrt.h"
// Include header file for MSI API functions and constants
#include "iswi.h"
export prototype Func1(HWND);
function Func1(hMSI)
STRING svName;
NUMBER nvSize, nResponse;
begin
// Retrieve the user's name from the MSI database
nvSize = 256;
MsiGetProperty (hMSI, "USERNAME", svName, nvSize);
nResponse = AskYesNo ("Your name will be registered as " +
svName + ". Is this correct?", YES);
if nResponse = NO then
AskText ("Enter the name that will be registered for " +
"this product.", svName, svName);
MsiSetProperty(hMSI, "USERNAME", svName);
endif;
end;
https://stackoverflow.com/questions/10793251
复制相似问题