Come posso fare una .Net 4.0 Exe chiedere all'utente di scaricare .NET 4.0 framework / ridistribuibile prima di eseguire questo exe?

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

Domanda

Ho pensato che l'ultima Matlab lo fa automaticamente. Ho testato il seguente exe su una superficie pulita Win XP VM:

namespace DotNetTest
{
    using System.Windows.Forms;

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

Quando ho eseguito su un computer che ha tutti questi installati, esso non mostra la finestra di messaggio e una finestra. Quando ho eseguito su una macchina virtuale pulito, ottengo questo errore:

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.

mi sarei aspettato di meglio da geni MSFT. Perché non è possibile ogni .Net exe contenere un po 'di testa e hanno il primo byte di fare il lavoro di rilevare se è installato .Net e presentare un messaggio migliore.

C'è una sorta di impostazione che posso capovolgere per risolvere questo problema? Tutte le impostazioni sono stati quelli di default forniti da VS2010 quando ho creato un nuovo progetto.

Grazie.

È stato utile?

Soluzione

Come Alexandr dice, si dovrebbe davvero utilizzare il programma di installazione per questo. Se questo non è possibile, che avrebbe dovuto scrivere un exe non gestito per eseguire prima e quindi avviare o .NET exe o dire all'utente di scaricare il quadro a seconda se è già installato.

Altri suggerimenti

Questo è ciò che si utilizza un programma di installazione per. In .net questo è semplice, basta "pubblicare" il progetto e si ottiene un programma di installazione che fa Shure che .NET è installato e così via. L'applicazione stessa non avrebbe mai dovuto preoccupare di questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top