Wix:LogonUser 属性未返回预期值

Wix: LogonUser Property is not returning the expected value

我正在使用 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]" />

但这给了我以下错误:error LGHT0094: Unresolved reference to symbol Property:LogonUser 我不知道如何解决这个问题。

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

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

 Property(C): LogonUser = JS.K

我已将 PropertyRef 用于 WIX_ACCOUNT_USERS 等,它工作正常但对于 LogonUser 则不然。我是否缺少任何要引用的 dll?

没有 LogonUser afaik。您应该创建一个新的 属性,并像这样初始化它:

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

安排在 UI 显示之前:

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

这对我有用:

 <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>

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