Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 如何检查参数是否为有效GUID?_Wix_Windows Installer_Guid - Fatal编程技术网

Wix 如何检查参数是否为有效GUID?

Wix 如何检查参数是否为有效GUID?,wix,windows-installer,guid,Wix,Windows Installer,Guid,在我的wixxml中,我有一个参数 <Property Id="PRODUCT_ID" Value='NA'/> 它还得到必须通过的的支持(即不能是“NA”): (不是产品) 但是,我还需要确保给定的参数(PRODUCT_ID)是有效的GUID?我可以在自定义DLL中编写函数,并从函数返回失败(以及DLL函数的消息框)。但是,在哪里调用该函数 我相信,它会被归入,但在哪里呢 <InstallExecuteSequence> <Custom Acti

在我的wixxml中,我有一个参数

<Property Id="PRODUCT_ID" Value='NA'/>

它还得到必须通过的
的支持(即不能是“NA”):


(不是产品)
但是,我还需要确保给定的参数(PRODUCT_ID)是有效的GUID?我可以在自定义DLL中编写函数,并从函数返回失败(以及DLL函数的消息框)。但是,在哪里调用该函数

我相信,它会被归入
,但在哪里呢

<InstallExecuteSequence>
    <Custom Action="validateGUI" Before="???"  ???/>
</InstallExecuteSequence>

编写一个CA,该CA将检查产品ID的有效性,并将值分配给另一个属性,例如产品ID OK。然后在条件下使用PRODUCT_ID_OK


条件是在LaunchConditions期间计算的,因此您需要在此之前运行CA:before=“LaunchConditions”

如果GUID字符串无效,CA函数不能只返回failure,而不是将其分配给另一个属性吗?如何将其传递给条件?我使用的是:
和:
,如果guid无效,则安装失败。但没有针对用户的合理错误消息。如何在OK变量之外向用户提供消息?
<InstallExecuteSequence>
    <Custom Action="validateGUI" Before="???"  ???/>
</InstallExecuteSequence>