На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ Inno Setup
Пожалуйста, выделяйте текст инсталлятора написанного на Inno Setup тегом [сode=ins] ... [/сode]. Для этого используйте кнопку [code=ins] в форме ответа или выпадающего списка, если нужно вставить код из другой программы.


Обязательно указывать:

  • Программу, используемую для создания инсталлятора.



Если в ходе решения проблемы возникли дополнительные вопросы, по возможности задаем их в той же теме.


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester
  
> MajorUpgrade .NET сборка кладущаяся в GAC, удаляется в Windows XP. , WiX
    Доброго времени суток.
    Столкнулся с проблемой следующего характера.
    Имеется компонент который кладется при установке в GAC.
    Описано так.
    ExpandedWrap disabled
      <Component Id='MyComponent.dll' Guid='{ЗДЕСЬ-GUID}' Directory='MyProgram'>
        <File  Id='MyComponent.dll' Name='MyComponent.dll' DiskId='1' Source='files/MyComponent.dll' KeyPath='yes' Assembly='.net' AssemblyManifest='MyComponent.dll'/>
      </Component>
       
      ...
       
       <MajorUpgrade
            Schedule="afterInstallInitialize"
            DowngradeErrorMessage="!(loc.USTR_OLDVERSIONEXIST)"/>

    Выпускаем новую версию продукта.
    Версия проблемного файла увеличивается, Assembly Version остается старой.

    При установке на Windows 7 все замечательно, сначала удаляется старый дистрибутив (afterInstallInitialize) удаляет за собой файлы, потом ставится новый дистрибутив устанавливая и регистрируя новую версию в GAC.
    А вот на Windows XP происходит интересное, при установке старая версия из GAC удаляется а вот новая не ставится (версия Windows Installer 4.5).
    Если дистрибутив запустить повторно и сказать "восстановить" то тогда новая версия устанавливается.
    Манипуляции на каком этапе вызывать RemoveExistingProduct (Schedule="afterInstallInitialize") успеха не дали.

    Нахожусь в ступоре.
      Во победил :)

      Оказывается у Light.exe есть ключик -fv, который добавляет в таблицу MsiAssemblyName помимо Assembly Version еще и fileVersion, которая начинает участвовать в принятии решения заменять ГАКовский файл или нет.
      Сообщение отредактировано: seryal -
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0149 ]   [ 14 queries used ]   [ Generated: 3.06.24, 12:07 GMT ]