Открытая веб-страница Wix, когда удаление завершается

Индекс может быть объяснен как отсортированный список объектов в регистре. Это очень быстро к поиску положение объекта в регистре, путем поиска это - ключ в индексе. Затем ключ в индексе является указателем на положение в регистре, где остальная часть записи может быть найдена.

у Вас может быть много индексов на регистре, но чем больше Вы имеете, тем медленнее вставляющие новые записи будут (потому что для каждого индекса нужна новая запись также - в отсортированном порядке, который также добавляет время).

14
задан Ohad Horesh 30 November 2009 в 12:58
поделиться

2 ответа

Вот пример кода, который мы используем. На самом деле мы не устанавливаем URL-адрес во время компиляции, но обновляем свойства в пост-сборке MSI, поэтому это может показаться немного "излишне спроектированным" . Мы используем ЦС WiXShellExec и имеем дополнительное условие, чтобы веб-страница отображалась только во время удаления, а не во время основного обновления.

<Fragment>
    <Property Id="MyURL"><![CDATA[http://www.blah.blah.blah/]]></Property>
    <CustomAction Id="SetOpenURL" Property="WixShellExecTarget" Value="[MyURL]" />
    <CustomAction Id="OpenURL" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" Return="ignore" />

    <InstallExecuteSequence>
        <!-- Launch webpage during full uninstall, but not upgrade -->
        <Custom Action="SetOpenURL" After="InstallFinalize"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
        <Custom Action="OpenURL" After="SetOpenURL"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
    </InstallExecuteSequence>
</Fragment>
21
ответ дан 1 December 2019 в 12:01
поделиться

Добавьте эти XML-элементы где-нибудь под своим элементом :

  <CustomAction Id="LaunchBrowser"
        ExeCommand="explorer.exe http://www.google.com"
        Directory="INSTALLDIR"
        Return="asyncNoWait" >
     REMOVE="ALL"
  </CustomAction>

  <InstallExecuteSequence>
     <Custom Action="LaunchBrowser" After="InstallValidate"/>
  </InstallExecuteSequence>

Условие REMOVE = "ALL" обеспечит выполнение настраиваемого действия, только если продукт полностью удаляется.

After = "InstallValidate" гарантирует, что настраиваемое действие выполняется сразу после того, как становится известно значение свойства REMOVE .

4
ответ дан 1 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: