Wix:在InstallExecuteSequence上没有从gui更新公共安全属性

时间:2011-05-05 09:25:31

标签: installer wix windows-installer properties

我在wix中没有太多exp,所以也许我的问题很愚蠢,但我找不到答案。 我定义了安全的公共财产:

<Property Id="REPORTSERVERNAME" Secure="yes"/>

然后在代码中我有CA的代码:

<CustomAction Id="Create_Folder_MyReports_Cmd" Property="Create_Folder_MyReports" Value="&quot;rs.exe&quot; -i &quot;[DBINSTALLLOCATION]RSS Scripts\CreateFolder.rss&quot; -s http://[REPORTSERVERNAME]/Reportserver -v parentFolder=&quot;/&quot; -v folderName=&quot;MyReports&quot; -v folderHidden=&quot;FALSE&quot;" Execute="immediate" />
<CustomAction Id="Create_Folder_MyReports" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="yes"  />
<InstallExecuteSequence>
  <Custom Action="Create_Folder_MyReports_Cmd" Before="Create_Folder_MyReports"></Custom>
  <Custom Action="Create_Folder_MyReports" Before="InstallFinalize" ></Custom>
</InstallExecuteSequence>

在对话框中我有一个编辑:

<Control Id="ReportServer" Type="Edit" X="75" Y="72" Width="170" Height="18" Property="REPORTSERVERNAME"/>

所以在日志中我有: SecureCustomProperties = REPORTSERVERNAME 并且价值正在发生变化,但在CA执行中它只是空的。无法真正弄清楚问题所在。 如果您有任何想法,请帮助PLZ。

1 个答案:

答案 0 :(得分:2)

我看到你有一个延迟的自定义操作。您只能访问来自延迟CA的某些属性。

http://msdn.microsoft.com/en-us/library/aa370543(VS.85).aspx

您必须使用CustomActionData传递您的属性。