尝试使用 MsiSetProperty/MsiGetProperty 方法设置/获取 INSTALLDIR 属性。但它在 InstallscriptMSI projects 的情况下不起作用。我在这里想念什么?
在另一个论坛中发现,Installshield 属性在某些情况下访问受限。
尝试使用 MsiSetProperty/MsiGetProperty 方法设置/获取 INSTALLDIR 属性。但它在 InstallscriptMSI projects 的情况下不起作用。我在这里想念什么?
在另一个论坛中发现,Installshield 属性在某些情况下访问受限。
笔记:
MsiGetProperty 和 MsiSetProperty 属性不能用于延迟的 InstallScript 自定义操作,这些操作无权访问活动的 .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;