Wix: публичное защищенное свойство не обновляется из графического интерфейса пользователя на InstallExecuteSequence - PullRequest
1 голос
/ 05 мая 2011

Я не слишком опытный в wix, так что, возможно, мой вопрос глуп, но я не смог найти ответ на него. Я определяю безопасную публичную собственность:

<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 это просто пусто. Не могу понять проблему. Помогите плз, если есть идеи.

1 Ответ

2 голосов
/ 05 мая 2011

Я вижу, у вас есть отложенное пользовательское действие.У вас есть доступ только к некоторым свойствам из отложенных ЦС.

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

Вы должны использовать CustomActionData для передачи вашего свойства.

...