Le projet d'installation VS2008 nécessite toujours .NET 3.5 au moment de l'installation, mais je n'en ai pas besoin!

StackOverflow https://stackoverflow.com/questions/68561

  •  09-06-2019
  •  | 
  •  

Question

1, Créez et construisez un projet Windows Forms par défaut et examinez les propriétés du projet. Il indique que le projet cible .NET Framework 2.0.

2, créez un projet d'installation qui installe uniquement l'exécutable à partir du projet Windows Forms.

3, Exécutez ce programme d'installation et il est toujours indiqué qu'il doit installer .NET 3.5 SP1 sur la machine. Mais évidemment, il n’a besoin que de la version 2.0 et je ne veux donc pas que les clients soient obligés d’installer .NET 3.5 quand ils n’en ont pas besoin. 2.0 est peut-être déjà installé et forcer la mise à niveau n’est pas souhaitable!

J'ai examiné les conditions préalables du projet d'installation et vérifié l'entrée .NET Framework 2.0. Tous les autres éléments sont décochés. Donc, je ne trouve aucune raison pour cette exigence d’exécution étrange. Quelqu'un sait comment résoudre celui-ci?

Était-ce utile?

La solution

Pas besoin de modifier le fichier manuellement. Le conseil se situe juste au-dessus du GUID: "LaunchCondition".

  1. Cliquez avec le bouton droit sur le projet d'installation
  2. Sélectionnez " Afficher " - > "Conditions de lancement"
  3. Développez les " Conditions de lancement " noeud s'il n'est pas déjà développé
  4. Cliquez avec le bouton droit de la souris sur le " Framework .NET " noeud et sélectionnez "Fenêtre Propriétés"
  5. Dans les "Propriétés" fenêtre change la " Version " valeur à la valeur appropriée, dans votre cas 2.0.50727.

Je ne sais pas pourquoi cela n'est pas réglé correctement depuis le début.

Autres conseils

Même si vous ciblez un déploiement 2.0, certains de vos assemblys peuvent nécessiter 3.5. Par exemple, LINQ nécessite la version 3.0. Ceci devrait cependant être reflété lorsque vous construisez. Vérifiez chaque assemblage pour vous assurer qu'il est compatible 2.0. Vous ne voulez pas que des choses 3.5 se faufilent. Si tel est le cas, je suppose que ce serait une bibliothèque de contrôle tierce prenant en charge WPF.

J'ai finalement trouvé la réponse à ma propre question.

Comparaison des fichiers de projets à l'aide du Bloc-notes J'ai remarqué qu'un projet d'installation dans VS2008 comporte une entrée demandant la version 3.5 et que la même section du projet VS2005 était marquée comme 2.0. Ce qui est étrange, c'est que la section ressemble à quelque chose que vous ne pouvez pas modifier manuellement dans l'environnement Visual Studio, ce qui vous oblige à mettre à jour manuellement le fichier de projet. N'importe où se trouve la zone incriminée du fichier de projet pour ceux qui rencontrent le même problème ...

"Deployable"
{
    "CustomAction"
    {
    }
    "DefaultFeature"
    {
    "Name" = "8:DefaultFeature"
    "Title" = "8:"
    "Description" = "8:"
    }
    "ExternalPersistence"
    {
        "LaunchCondition"
        {
            "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_FC497D835F7243569DCCC3E3ACE4196D"
            {
            "Name" = "8:.NET Framework"
            "Message" = "8:[VSDNETMSG]"
            "Version" = "8:3.5.30729"  <--- UPDATE THIS TO 8:2.0.50727
            "AllowLaterVersions" = "11:FALSE"
            "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617"
            }
        }
    }

J'ai toujours utilisé Innosetup pour déployer mes projets. C'est très rapide et très personnalisable. Il n'y a presque rien que vous ne puissiez faire avec un peu de script. Innosetup peut détecter quelle version du Framework est installée et informer l'utilisateur si la version correcte n'est pas présente (avec script).

Je vous recommande d'essayer d'autres outils de déploiement comme Innosetup et de voir si vous les aimez. Il y a une richesse d'opportunité là-bas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top