2010-08-10 34 views
3

J'ai construit un programme d'installation avec WIX et l'ai empaqueté avec le framework .NET 4.0 en utilisant la tâche GenerateBootstrapper. Maintenant, .NET 4.0 ne peut pas être installé sur XP SP2, mais il semble qu'il n'y ait pas de vérification préalable pour que le programme d'installation échoue à mi-chemin.WIX: conditions GenerateBootStrapper?

Je voudrais ajouter ma propre vérification pour m'assurer que le système d'exploitation sur lequel l'ensemble du paquet est installé est supporté par le framework .NET 4.0. Existe-t-il un moyen d'intégrer un contrôle OS/Service Pack dans le programme d'amorçage lorsque vous utilisez GenerateBootstrapper? Sinon, comment puis-je accomplir cela?

+0

La description du programme d'amorçage n'interdit explicitement l'installation que si le niveau du Service Pack est inférieur à SP2 (bien sûr, le support officiel de Microsoft pour XP SP2 n'est plus disponible, mais c'est une chose différente). –

+0

Intéressant. Je me demande pourquoi l'installation de .NET 4.0 échoue alors. MS appelle SP3 dans les conditions de téléchargement du framework. http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&displaylang=en – roufamatic

+0

Eh bien, je l'ai déjà vu qu'une définition de package d'amorçage fourni par Microsoft ne fait pas le vérifie correctement. –

Répondre

1

Vous pouvez ajouter une condition au fichier de définition du package d'amorçage afin que le programme d'amorçage vérifie la version de Windows. Le fichier de description est situé à

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\ 
    Packages\DotNetFX40\Product.xml 

sur un système Windows 64 bits ou à

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\ 
    Packages\DotNetFX40\Product.xml 

sur un système Windows 32 bits. Le package.xml contient déjà un tel contrôle, voir la ligne

<!-- Block install on less than Windows XP SP2 --> 
<FailIf Property="VersionNT" Compare="VersionLessThan" 
     Value="5.1.2" String="InvalidPlatformWinNT" /> 

je ne pouvais pas trouver la documentation pertinente, mais il semble que le troisième numéro de la valeur VersionNT est le niveau de service pack, donc probablement changer la condition pour vérifier une valeur de "5.1.3" fera l'affaire. Etes-vous certain que le .NET Framework 4.0 ne peut pas être installé sur Windows XP SP2?

+1

Nous avons décidé en interne de supprimer le framework de l'installateur et de laisser le client l'installer séparément (pour séparer les faiblesses de MS des nôtres). Assez sûr que votre réponse aurait fonctionné dans ma situation, alors vous obtenez le biscuit. Merci! – roufamatic