2010-01-08 8 views
8

Chcę uaktualnić mój produkt za pomocą instalacji msi. Kod uaktualnienia obu msi pozostaje taki sam, ponieważ jest to ta sama rodzina produktów. Nawet jeśli zmienię wersję/kod produktu msi w celu aktualizacji, po prostu mówi mi, że produkt jest już zainstalowany lub prosi mnie o naprawę. nigdy nie udostępnia opcji aktualizacji, która zastępuje bieżącą instalację.Jak dokonać aktualizacji za pomocą msi

Używam Visual Studio 2008 Pro generować Setup MSI

+1

Jakiego narzędzia używasz do generowania MSI? Visual Studio? WiX? Coś innego? –

+0

Visual Studio 2008 Pro – Kai

Odpowiedz

9

Po zmianie właściwości w projekcie instalacji Version, Visual Studio powinien poprosi również zmienić ProductCode. Musisz to zrobić. Następnie musisz również ustawić właściwość RemovePreviousVersion na true. Upewnij się, że UpgradeCode pozostaje bez zmian.

Jest to prawdopodobnie najprostszy sposób i, od czytania pytania, to, czego szukasz. Zauważ, że jest to raczej dezinstalacja, a następnie ponowna instalacja, niż "aktualizacja" jako taka.

+1

-1 Oba nazywane są "uaktualnieniami". Reguły MSI definiują znaczną aktualizację jako dezinstalację/ponowną instalację, ze zmianą w kodzie produktu w ramach tej samej rodziny kodów uaktualnienia. Drobne Ugrade zmienia tylko te Komponenty, które różnią się między dwoma wersjami. –

+1

@DSims: Tak, znam definicje MSI i nieodłączną wieloznaczność semantyczną. Dzięki za wskazanie tego. Wspomniałem tylko o odinstalowaniu/ponownym zainstalowaniu, ponieważ uważałem, że może to zapobiec pewnym nieporozumieniom. Wiele osób jest gryzionych przez takie zachowanie podczas tworzenia swoich początkowych instalatorów. Chociaż nazywa się to uaktualnieniem, ten język nie jest zgodny z tym, w jaki sposób większość osób nieinstalujących rozumie ten termin. Jeśli chodzi o system operacyjny, jest to zupełnie nowy produkt. –

+0

@Dave: przepraszam, że jestem pedantyczny. Semantyczna precyzja jest niestety kluczowa dla instalatora MSI/Windows. Jest to z natury delikatna dziedzina, sposób, w jaki MS ją zorganizował, a konkretne słowa mają określone techniczne i biznesowe konsekwencje. –