从其他属性设置属性值

edd*_*yuk 6 wix wix3.5

我有一个自定义控件(禁用编辑),我想显示当前登录Domain\User.

我设置这样的属性:

<Property Id="PROP_DOMAINUSER" Value="[%USERDOMAIN]\[LogonUser]"></Property>
Run Code Online (Sandbox Code Playgroud)

但我在编辑框中看到的是确切的文本 - [%USERDOMAIN]\[LogonUser]而不是实际的域和用户.

我如何从另一个属性初始化属性值呢?

Dav*_*tin 10

您需要创建一个类型51自定义操作来设置属性,这可以使用SetProperty元素来实现.请记住在显示自定义控件之前安排此操作.

<SetProperty Id="INSTALL_USERNAME" Value="[%USERDOMAIN]\[%USERNAME]" /> 
Run Code Online (Sandbox Code Playgroud)

然后,您应该[INSTALL_USERNAME]在控件中使用该属性.

编辑:

要计划自定义操作,请使用"之前"或"之后"属性,如果您不确定在何处安排它,请使用像orca这样的工具来查看正在发生的事情,这里是在After ="InstallInitialize"之后运行的自定义操作的示例

<SetProperty Id="INSTALL_USERNAME" Value="[%USERDOMAIN]\[%USERNAME]" After="InstallInitialize" /> 
Run Code Online (Sandbox Code Playgroud)