Wix:LogonUser属性未返回预期值

时间:2015-01-03 13:02:30

标签: wix

我正在使用WiX 3.9。有没有办法在Wix中获取当前登录的用户名。我一直在阅读很多在线帮助和文章,但到目前为止没有任何帮助...也许我犯了一些愚蠢的错误。 我添加了以下代码:

  <PropertyRef Id="LogonUser" />

  <Control Type="Edit" Id="UserNameEdit" Width="139" Height="15" X="191" Y="128" Property="USER_NAME" Text="[LogonUser]" />

但这给了我以下错误:错误LGHT0094:未解析的符号引用属性:LogonUser 我不知道如何解决这个问题。

所以我刚刚删除了PropertyRef代码,但是[LogonUser]正在打印,因为它在编辑框中是 [LogonUser] ,并且它不会打印实际的用户名。

当我检查安装日志文件时,我可以很好地使用LogonUser属性,如下所示:

 Property(C): LogonUser = JS.K

我已经将PropertyRef用于WIX_ACCOUNT_USERS等,但它工作正常,但对于LogonUser却没有。我错过了任何要引用的dll吗?

2 个答案:

答案 0 :(得分:1)

这对我有用:

&#13;
&#13;
 <Control Type="Edit" Id="UserNameEdit" Width="139" Height="15" X="191" Y="128" Property="USER_NAME" >
<Text>{\DlgTitleFont}USER_NAME</Text>
  <Publish Property="USER_NAME" Value="[LogonUser]" Order="1">1</Publish> 

  </Control>
&#13;
&#13;
&#13;

因为您需要显式设置编辑控件的属性。

答案 1 :(得分:0)

没有LogonUser afaik。您应该创建一个新属性,并将其初始化为:

<SetProperty Id="INSTALL_USERNAME" Value="[%USERDOMAIN]\[%USERNAME]" /> 

在显示用户界面之前安排:

<InstallUISequence>
  <SetProperty Id="INSTALL_USERNAME" Before="Show" Value="[%USERDOMAIN]\[%USERNAME]" /> 
</InstallUISequence>