Domanda

Dopo la compilazione di un semplice progetto di C++ con Visual Studio 2008 in vista, tutto funziona bene sull'originale macchina vista e altri vista computer.Tuttavia, lo spostamento oltre a un XP casella di risultati in un messaggio di errore:"L'applicazione non è stato avviato perché la configurazione dell'applicazione non è corretta".

Cosa devo fare quindi il mio EXE compilato funziona su XP e Vista?Ho avuto lo stesso problema un paio di mesi fa, e solo giocherellare con alcune impostazioni di progetto risolto, ma non ricordo quali ho cambiato.

È stato utile?

Soluzione

È necessario installare il Visual Studios 2008 runtime sul computer di destinazione:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

In alternativa, è possibile collegare anche il tempo di esecuzione, in modo statico, nella finestra proprietà del progetto vai a:

c++ -> Generazione del Codice -> Runtime Libreria e selezionare "multi-threaded /MT"

Altri suggerimenti

È necessario installare il runtime redistributable file sul computer che si sta tentando di eseguire l'applicazione.

Il redistributable 2008 è qui.

Ridistribuibile per il 2005 qui.

Essi possono essere installati side-by-side, nel caso in cui avete bisogno di entrambi.

Probabilmente è necessario distribuire il runtime VC con la vostra applicazione.Ci sono una varietà di modi per fare questo. Questo articolo da Microsoft Visual C++ Team spiega meglio i diversi modi di distribuire queste dipendenze se si utilizza Visual Studio 2005 o 2008.

Come indicato nell'articolo, anche se è possibile scaricare il programma di installazione Ridistribuibile pacchetto e avviare semplicemente che sulla macchina client, che quasi sempre non è l'opzione ottimale.Di solito ci sono modi migliori per includere la richiesta Dll, come il merge module, se si distribuisce tramite l'Installazione di Windows o App-copia Locale se si desidera distribuire una cartella in formato zip.

Un'altra opzione è quella di collegare in modo statico contro le librerie di runtime, anziché distribuirli con la vostra applicazione.Questa opzione è adatta solo per Exe standalone che non caricare altre Dll.È anche possibile fare questo con le Dll che vengono caricati da altre applicazioni.

È molto più semplice di collegamento per il runtime in modo statico.

c++ -> Generazione del Codice -> Runtime Library " e selezionare "multi-threaded /MT"

Tuttavia, questo rende l'eseguibile di un paio di centinaia di KByte più grandi.Questo potrebbe essere un problema se si sta installando un gran numero di programmi di piccole dimensioni, dal momento che ogni saranno gravati da una propria copia di runtime.La risposta è quello di creare un programma di installazione.

Nuovo progetto -> "installazione e distribuzione" -> "impostazioni progetto"

Carico l'uscita dall'applicazione di progetti ( definiti utilizzando la versione DLL di runtime ) nel progetto di programma di installazione e di costruire.La dipendenza dalla DLL di runtime sarà notato, incluso nel pacchetto di installazione, e in modo ordinato e discreto installato correttamente sul computer di destinazione.

Visual studio 2005 ha in realtà due

L'uno per la versione originale

e l'uno per SP1

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