Domanda

Potrebbe essere una domanda stupida, ma tutti i miei tentativi a google questo non è riuscito. La domanda è: Come si può sviluppare applicazioni Windows che non hanno bisogno di un ridistribuibile preinstallato? Voglio creare applicazioni che girano anche sotto le versioni precedenti di Windows che non hanno il .NET Framework o qualcosa di simile incluso.

Grazie, eWolf

È stato utile?

Soluzione

In primo luogo, il programma in una lingua nativa, ad esempio C ++, non CLR.

In secondo luogo, disattivare manifesti ed evitare il collegamento DLL esterne (come STDC o MFC).

Altri suggerimenti

Che cosa si intende per le versioni precedenti di Windows?
.NET framework è parte di Windows a partire da Windows 2003 e .NET 1.1.
Quindi, se si prendono di mira le versioni di Windows più recenti di Windows 2003, si può essere certi che .NET è disponibile.

Ci sono anche soluzioni, che automatizzare collega / imballaggio di prodotti .net, in modo che non c'è bisogno di spedire qualsiasi ridistribuibili ecc.

Aggiornamento:
Ho appena scoperto che Mono permette di collegare l'intera fase di esecuzione nel vostro eseguibile.
Lo chiamano questa caratteristica Bundle .
Per saperne di più su questo qui .

Usa Delphi - anche se le versioni più recenti del IDE hanno alcuni bug dispari, è facile per creare applicazioni native di Windows che non hanno bisogno di un ridistribuibile. Molto più facile da usare rispetto C ++ / win32.

Modifica:. Come eWolf ha sottolineato che non aveva bisogno di .NET, nonostante la domanda iniziale contrassegnati come .NET

In breve, alcune macchine più vecchie, come Win95 / 98/2000 non possono avere il runtime installato. Dal momento che si è specificato .NET, sto supponendo che si vuole costruire un'applicazione utilizzando .NET, c'è un grande ma, è necessario avere installato il runtime .NET in anticipo è possibile eseguire l'applicazione .NET. Si può facilmente aggirare questo in due modi:

  • installare manualmente il runtime .NET OR
  • Utilizzare uno script di installazione personalizzato in grado di rilevare se il runtime .NET è installato o meno, per installare il ridistribuibile .NET runtime.

Se si sta parlando di un'applicazione nativa come C / C ++, la strada migliore da prendere (per evitare dipendenze e ridurre al minimo il numero di richieste di DLL) è, svilupparlo in WinAPI32 prime, utilizzando solo lo standard DLL che un sacco di macchine Windows avranno, COMMCTRL.DLL, USER32.DLL, ADVAPI.DLL per citarne solo alcuni. Il risultato finale sarà un file eseguibile più piccolo. Naturalmente si può racchiudere altri DLL collegando staticamente insieme della DLL in modo da formare un unico grande eseguibile mammut.

vi consiglio di utilizzare la WTL , che è un framework leggero C ++. E 'solo un passo sopra le API Win32 davvero, in modo da ottenere piccoli EXE con poche dipendenze. WTL richiede il framework ATL che è possibile collegare in modo statico a, il che significa che solo bisogno di spedire il vostro EXE.

Un altro quadro vale la pena guardare è Qt . Tuttavia, questo richiede spedite alcune DLL con l'applicazione. Qt è un framework fantastico e penso che lo troverete più produttivo di WTL (a seconda delle esigenze applicative, naturalmente.)

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