Ранее делал msi с помощью Setup-project от MS. Теперь он уже не пригоден для использования, так как не совместим с Open-source library guidance.
Перевел на WiX, попробовал использовать тот же UpgradeCode. Но все равно система воспринимает как два разных продукта. Как седалть, чтобы система устанавливала не как новый продукт а как обновление уже существующего?
Здравствуйте, Shmj, Вы писали:
S>Ранее делал msi с помощью Setup-project от MS. Теперь он уже не пригоден для использования, так как не совместим с Open-source library guidance.
S>Перевел на WiX, попробовал использовать тот же UpgradeCode. Но все равно система воспринимает как два разных продукта. Как седалть, чтобы система устанавливала не как новый продукт а как обновление уже существующего?
для Upgrat-а нужно менять Product Id и Version
_>т.е в этом коде нужно увеличить Version и все должно обновиться
Дело в том, что раньше у меня инсталлер создавался не с помощью WiX а с помощью Setup-project от MS. Взял из старого Setup-project UpgradeCode. Пробовал как в скобочках {3666762e-87cf-4691-b27b-3eac8953e005} так и без 3666762e-87cf-4691-b27b-3eac8953e005. В любом случае создается независимая установка, файлы просто затираются. В Add/Remove Program получается две записи.
_>>т.е в этом коде нужно увеличить Version и все должно обновиться
S>Дело в том, что раньше у меня инсталлер создавался не с помощью WiX а с помощью Setup-project от MS. Взял из старого Setup-project UpgradeCode. Пробовал как в скобочках {3666762e-87cf-4691-b27b-3eac8953e005} так и без 3666762e-87cf-4691-b27b-3eac8953e005. В любом случае создается независимая установка, файлы просто затираются. В Add/Remove Program получается две записи.
S>Что же делать?
Все прекрасно работает т.е 1.11.0.0->1.11.1.0 — обновление, 1.11.1.0->1.11.0.0 — ошибка "Установлена более новая версия..."
у вас не обновляется Setup-project -> WiX или Wix ->Wix?
надо смотреть как настроен MSI созданный Setup-project, что прописано в таблице Property и сравнить его с MSI созданным Wix-ом
Здравствуйте, alexander_r, Вы писали:
_>у вас не обновляется Setup-project -> WiX или Wix ->Wix?
Конечно Setup-project -> WiX. Раньше использовал решение от MS, сейчас оно уже перестало корректно работать и приходится переползать на WiX.
_>надо смотреть как настроен MSI созданный Setup-project, что прописано в таблице Property и сравнить его с MSI созданным Wix-ом
Я взял UpgradeCode из проекта Setup-project, скопировал его в конфигурацию WiX. Но это не помогло — все равно устанавливает как независимый продукт. Где посмотреть? В реестре вообще не нашел этого UpgradeCode, только Product Id.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, alexander_r, Вы писали:
_>>у вас не обновляется Setup-project -> WiX или Wix ->Wix?
S>Конечно Setup-project -> WiX. Раньше использовал решение от MS, сейчас оно уже перестало корректно работать и приходится переползать на WiX.
_>>надо смотреть как настроен MSI созданный Setup-project, что прописано в таблице Property и сравнить его с MSI созданным Wix-ом
S>Я взял UpgradeCode из проекта Setup-project, скопировал его в конфигурацию WiX. Но это не помогло — все равно устанавливает как независимый продукт. Где посмотреть? В реестре вообще не нашел этого UpgradeCode, только Product Id.
Здравствуйте, alexander_r, Вы писали:
_>Здравствуйте, Shmj, Вы писали:
S>>Здравствуйте, alexander_r, Вы писали:
_>>>у вас не обновляется Setup-project -> WiX или Wix ->Wix?
S>>Конечно Setup-project -> WiX. Раньше использовал решение от MS, сейчас оно уже перестало корректно работать и приходится переползать на WiX.
_>>>надо смотреть как настроен MSI созданный Setup-project, что прописано в таблице Property и сравнить его с MSI созданным Wix-ом
S>>Я взял UpgradeCode из проекта Setup-project, скопировал его в конфигурацию WiX. Но это не помогло — все равно устанавливает как независимый продукт. Где посмотреть? В реестре вообще не нашел этого UpgradeCode, только Product Id.
_>Orca.exe is a database table editor for creating and editing Windows Installer packages and merge modules _>открываете и смотрите таблицу Property
Здравствуйте, Shmj, Вы писали:
S>Ранее делал msi с помощью Setup-project от MS. Теперь он уже не пригоден для использования, так как не совместим с Open-source library guidance. S>Перевел на WiX, попробовал использовать тот же UpgradeCode. Но все равно система воспринимает как два разных продукта. Как седалть, чтобы система устанавливала не как новый продукт а как обновление уже существующего?
Как человек, травмированный Windows Installer-ом, могу лишь отговорить тебя от этого...
Псмотрел. Открыл вкладку Upgrade, там таблица с 2-мя записями.
1. UpgradeCode — совпадает и у Setup-proj и у WiX.
2. Version Min/Max — указаны правильно. В Setup-proj версия 2.0.1 а в WiX 3.1.4.
3. А вот ActionProperty в этой же таблице в Setup-project PREVIOUSVERSIONSINSTALLED и NEWERPRODUCTFOUND а в WiX — WIX_UPGRADE_DETECTED и WIX_DOWNGRADE_DETECTED.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, alexander_r, Вы писали:
_>>Orca.exe is a database table editor for creating and editing Windows Installer packages and merge modules _>>открываете и смотрите таблицу Property
S>Псмотрел. Открыл вкладку Upgrade, там таблица с 2-мя записями.
S>1. UpgradeCode — совпадает и у Setup-proj и у WiX. S>2. Version Min/Max — указаны правильно. В Setup-proj версия 2.0.1 а в WiX 3.1.4. S>3. А вот ActionProperty в этой же таблице в Setup-project PREVIOUSVERSIONSINSTALLED и NEWERPRODUCTFOUND а в WiX — WIX_UPGRADE_DETECTED и WIX_DOWNGRADE_DETECTED.
S>Что еще посмотреть?
Даже не знаю
Попробуйте на форуме wix-а задать вопрос как делать upgrade msi_setup_proj на msi_wix и чем они могут отличаться
Можно декомпилировать msi_setup_proj с помощью Dark.exe из WixToolset, т.е msi -> .wxs и дальше сравнить, чем отличается Setup-proj.wxs от стандартного
Еще проблема может быть с типом установки per-machine/per-user т.е в обоих msi должны быть одинаковые property ALLUSERS
Здравствуйте, Shmj, Вы писали:
S>Даже от WiX? А что же вместо него?
Ничего вменяемого вместо него не было, нет и не будет. Все остальные поделия являются именно поделиями, т.к. не доставляют аналогичный функционал. Просто стоит покопать тему. Да, это не очень приятно, т.к. "технология" та еще. Но она единственная работает.
Здравствуйте, Shmj, Вы писали:
S>Даже от WiX? А что же вместо него?
Wix — это лишь буквальное переложение всех деталей windows installer в xml-синтаксис. И всей бредовости тоже. Я делал однажды инсталлятор для крупного продукта на wix. В итоге после длительной борьбы с этой античеловеческой технологией мы сделали самописный инсталлятор на c#.
Здравствуйте, Shmj, Вы писали:
S>Ранее делал msi с помощью Setup-project от MS. Теперь он уже не пригоден для использования, так как не совместим с Open-source library guidance.
S>Перевел на WiX, попробовал использовать тот же UpgradeCode. Но все равно система воспринимает как два разных продукта. Как седалть, чтобы система устанавливала не как новый продукт а как обновление уже существующего?
Здравствуйте, Shmj, Вы писали:
S>Псмотрел. Открыл вкладку Upgrade, там таблица с 2-мя записями.
S>1. UpgradeCode — совпадает и у Setup-proj и у WiX. S>2. Version Min/Max — указаны правильно. В Setup-proj версия 2.0.1 а в WiX 3.1.4. S>3. А вот ActionProperty в этой же таблице в Setup-project PREVIOUSVERSIONSINSTALLED и NEWERPRODUCTFOUND а в WiX — WIX_UPGRADE_DETECTED и WIX_DOWNGRADE_DETECTED.
S>Что еще посмотреть?
Посмотрите то же самое (product code и upgrade code) в таблице Property, но не в инсталляционном пакете, а после установки в закэшированном MSI и в Registry. К сожалению, точные места подсказать не могу, давно этим занимался.
Есть шанс, что Setup project делает transform instance при установке и меняет код продукта.
Если так — малой кровью не обойтись, нужно будет делать обёртку над MSI, которая будет смотреть, какой продукт код у продукта именно на этой машине и менять её в msi перед апгрейдом.
Может быть будет проще делать просто деинсталляцию старого продукта и установку нового в случае смены версии?