WIX добавляют новый файл к совместно используемому компоненту

Я попробовал ваш код, и он работает после небольшой модификации. Проверьте ниже. Он перебирает HTMLCollection и печатает H2s

var article = document.getElementsByClassName("article-content");
var h2s = article[0]
  .getElementsByClassName("article-detail")[0]
  .getElementsByClassName("article-content")[0]
  .getElementsByTagName("h2");

for(var i = 0; i < h2s.length; i++){
   console.log(h2s[i]);
}
<div class="article-content">
<div class="article-detail">
  <div class="article-content">
    <h2>H2 1</h2>
    <h2>H2 2</h2>
    <h2>H2 3</h2>
    <h2>H2 4</h2>
    <h2>H2 5</h2>
  </div>
</div>
</div>

5
задан user38309 31 March 2009 в 22:38
поделиться

4 ответа

Если Вы не можете обновить продукт 1 (который я предполагаю, не абсолютно возможно), я думаю, что Вы завинчены. По моему скромному мнению, Правила Компонента являются худшей вещью о Windows Installer. Эта ссылка на старое мое сообщение в блоге суммирует большую часть из него. Ваш случай несколько отличается, чем, что описано там, но результаты ожидаются.

Я думаю, что Вы добираетесь для выбора меньшего из двух зла.

3
ответ дан 15 December 2019 в 01:11
поделиться

Я не на 100% уверен..., но я думаю, добавляя, что второй.DLL к исходному компоненту вероятен "нарушение" правил компонента. Смотрите на: http://blogs.msdn.com/robmen/archive/2003/10/18/56497.aspx

Из того, что я собираюсь из толпы Wix, ведущая "лучшая практика" должна иметь каждый файл как отдельный компонент.

Что является Вашими планами относительно обновлений (в терминах msi: главный, незначительный, патч)? Если я вспоминаю, что правильно незначительным обновлениям не позволяют унавозить с определениями компонента. Никакая идея о патчах.

Вы могли бы также хотеть волноваться о восстановлении.

1
ответ дан 15 December 2019 в 01:11
поделиться

Можно ли воспроизвести второй выпуск? В теории после установки продукта, которым 2 версии компонента становятся 2.0. После того, как версия компонента шага 3 все еще 2.0. Когда пользователь удаляет продукт 1 на шаге 4, Windows Installer знает, как удалить и Utility.dll 2.0 и UtilityUtility.dll 2.0.

Обновление: Я был неправ, извините.

0
ответ дан 15 December 2019 в 01:11
поделиться

Я сам столкнулся с этой проблемой. Я согласен с @rbobby и дополнительно утверждаю, что тот факт, что вы можете представить себе этот неработающий пользовательский сценарий, является доказательством того, что вы нарушаете правила. Вам следует обновлять общий компонент только в том случае, если он полностью совместим. Если Duck 2.0 не крякает и не плавает, придумайте для него новое имя.

В вашем случае у вас есть Utility.dll 1.0 и Utility.dll 2.0, но они являются «одним и тем же компонентом» в том, что они делают. похожие вещи по-другому. Utility.dll 2.0 на самом деле следует называть UtilityPlus.dll 1.0.

Извините, я знаю, что, вероятно, это не тот ответ, который вы хотели услышать, но инженерные соображения ясны.

0
ответ дан 15 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

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