您可以在您的计算机上的 Windows SDK 目录中找到此类标识符的定义。您没有提到 VS 版本,开始查找 c:\program files (x86)\microsoft sdks\windows\xx\include。如果你有 VS2012+ 然后从 Windows Kits 开始寻找。您对 MsiDefs.h 文件感兴趣。它包含:
// properties related to UAC
#define IPROPNAME_MSI_UAC_DEPLOYMENT_COMPLIANT TEXT("MSIDEPLOYMENTCOMPLIANT")
#define IPROPNAME_MSI_USE_REAL_ADMIN_DETECTION TEXT("MSIUSEREALADMINDETECTION")
还:
// execution scheduling flags // default is execute whenever sequenced
msidbCustomActionTypeFirstSequence = 0x00000100, // skip if UI sequence already run
msidbCustomActionTypeOncePerProcess = 0x00000200, // skip if UI sequence already run in same process
msidbCustomActionTypeClientRepeat = 0x00000300, // run on client only if UI already run on client
msidbCustomActionTypeInScript = 0x00000400, // queue for execution within script
msidbCustomActionTypeRollback = 0x00000100, // in conjunction with InScript: queue in Rollback script
msidbCustomActionTypeCommit = 0x00000200, // in conjunction with InScript: run Commit ops from script on success
// security context flag, default to impersonate as user, valid only if InScript
msidbCustomActionTypeNoImpersonate = 0x00000800, // no impersonation, run in system context
您可以从中看出 MSIUSEREALADMINDETECTION 不是用数字表示的,它是一个属性的名称。您可以使用MsiSetProperty()设置属性值。有关此 MSDN 部分中的属性的更多信息