2010-01-08 7 views
8

Je veux mettre à niveau mon produit via la configuration msi. Le code de mise à niveau des deux msi reste le même car il s'agit de la même famille de produits. Même si je change le code de version/produit du msi pour la mise à jour il me dit juste que le produit est déjà installé ou me demande de le réparer. il ne fournit jamais une option de mise à jour qui remplace l'installation actuelle.Comment mettre à niveau via msi

J'utilise Visual Studio 2008 Pro pour générer la configuration msi

+1

Quel outil utilisez-vous pour générer votre MSI? Visual Studio? WiX? Autre chose? –

+0

Visual Studio 2008 Pro – Kai

Répondre

9

Lorsque vous modifiez la propriété Version dans votre projet d'installation, vous devez invite Visual Studio de changer aussi le ProductCode. Tu dois le faire. Ensuite, vous devez également définir la propriété RemovePreviousVersion sur true. Assurez-vous que le UpgradeCode reste le même.

C'est probablement le moyen le plus simple et, en lisant votre question, ce que vous cherchez. Notez qu'il s'agit plus d'une désinstallation, puis d'une réinstallation, que d'une "mise à niveau" en soi.

+1

-1 Les deux sont appelés "mises à jour". Les règles MSI définissent une mise à niveau majeure en tant que désinstallation/réinstallation, avec une modification de ProductCode sous la même famille de codes de mise à niveau. Une Ugrade Mineure ne modifie que les Composants qui sont différents entre les deux verisons. –

+1

@DSims: Oui, je connais les définitions MSI et l'ambiguïté sémantique inhérente. Merci de l'avoir signalé. J'ai seulement mentionné la désinstallation/réinstallation parce que je pensais que cela pourrait éviter une certaine confusion. Beaucoup sont mordus par ce comportement lors de la création de leurs programmes d'installation initiaux. Bien que cela s'appelle une mise à niveau, ce langage ne correspond pas à la façon dont la plupart des personnes non installées comprennent le terme. En ce qui concerne l'OS, c'est un produit entièrement nouveau. –

+0

@Dave: désolé d'être pédant. La précision sémantique est malheureusement cruciale avec l'installateur MSI/Windows. C'est un domaine intrinsèquement fragile, la façon dont MS l'a structuré, et des mots spécifiques ont des conséquences techniques et commerciales spécifiques. –

Questions connexes