我在wix中没有太多exp,所以也许我的问题很愚蠢,但我找不到答案。 我定义了安全的公共财产:
<Property Id="REPORTSERVERNAME" Secure="yes"/>
然后在代码中我有CA的代码:
<CustomAction Id="Create_Folder_MyReports_Cmd" Property="Create_Folder_MyReports" Value=""rs.exe" -i "[DBINSTALLLOCATION]RSS Scripts\CreateFolder.rss" -s http://[REPORTSERVERNAME]/Reportserver -v parentFolder="/" -v folderName="MyReports" -v folderHidden="FALSE"" 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。
答案 0 :(得分:2)
我看到你有一个延迟的自定义操作。您只能访问来自延迟CA的某些属性。
http://msdn.microsoft.com/en-us/library/aa370543(VS.85).aspx
您必须使用CustomActionData传递您的属性。