Comment puis-je faire un .Net 4.0 Exe demander à l'utilisateur de télécharger .Net 4.0 framework / redistribuable avant d'exécuter cette exe?

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

Question

Je pensais que la dernière Matlab fait automatiquement. Je l'ai testé l'exe suivant sur une surface propre machine virtuelle Windows XP:

namespace DotNetTest
{
    using System.Windows.Forms;

    class Program
    {
        static void Main(string[] args)
        {
            MessageBox.Show("Howdy!");
        }
    }
}

Quand je lance sur un ordinateur qui a tous ces installés, il montre la boîte de message et une fenêtre. Quand je lance sur une machine virtuelle propre, je reçois cette erreur:

Title: DotNetTest.exe - Application Error
Icon: Error
Buttons: {OK}
Message Body: The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.

J'attendre mieux de génies MSFT. Pourquoi ne peut pas tous les .Net exe contiennent un petit peu de frais généraux et ont tout premiers octets de faire le travail de détection si .Net est installé et présentant un meilleur message.

Y at-il une sorte de cadre que je peux retourner à résoudre ce problème? Tous les paramètres sont ceux fournis par défaut VS2010 quand je créé un nouveau projet.

Merci.

Était-ce utile?

La solution

Comme Alexandr dit, vous devez vraiment utiliser l'installateur pour cela. Si ce n'est pas possible, vous devriez écrire un exe non géré pour exécuter d'abord, puis commencer soit le .net exe ou dire à l'utilisateur de télécharger le cadre en fonction si elle est déjà installée.

Autres conseils

est ce que vous utilisez un programme d'installation. Dans .net est simple, il vous suffit « publier » votre projet et vous obtenez un programme d'installation qui fait shure que .net est installé et tel. L'application elle-même ne devrait jamais avoir à se soucier à ce sujet.

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