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

时间:2017-04-25 05:59:33

标签: wix windows-installer guid

在我的Wix XML中,我有一个参数

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

<Condition>支持必须通过(即不能是“NA”):

<Condition Message='Product ID is required.'>
      (not PRODUCT_ID = "NA")
</Condition>

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

我相信,它会在<InstallExecuteSequence>下,但在哪里?

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

1 个答案:

答案 0 :(得分:1)

编写一个CA,该CA将检查PRODUCT_ID的有效性,并为另一个属性分配值,例如: PRODUCT_ID_OK。然后在条件中使用PRODUCT_ID_OK。

在LaunchConditions期间评估条件,因此您需要在此之前运行CA:Before =“LaunchConditions”