Bærbar Windows-applikation (ikke kildekoden!) Med Visual C ++ 2005/2008/2010?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg mener ikke 'bærbar' på en måde, som du kan genopbygge kildekoden under Linux eller hvad som helst, men snarere en Windows-eneste applikation, der ikke kræver installation, så du bare sætter .exe og nogle dll-s i en mappe og kopiere den til en anden maskine, og det virker.


Det krævede ikke nogen indsats overhovedet med VS 2003 og tidligere, men med 2008 sætter de manglende dll-s i samme mappe ikke i brug, det kræver installation af genuddelingsprodukter. Jeg kan huske at høre, at problemet kan løses med manifester, som jeg aldrig har oplevet før.


Så hvordan kan jeg gøre det?

Bedste reference


Link med statiske biblioteker til CRT, MFC og alt andet du bruger. Sørg for at du ikke bruger Win32 API'er, der blev introduceret i Vista eller Win7 (dvs. hold WIN32\_WINNT <=0x501). Brug Dependency Walker til at sikre, at din eksekverbare kun importerer kernel32, user32, gdi32 eller andre ting, der garanteres være i en standard windows installation. [1]

Andre referencer 1


Hvad med statisk at forbinde c-runtime? Din resulterende eksekverbare bliver dog større.

Andre referencer 2


Se også på rapporterne bagud binær kompatibilitet for alle interesserede versioner af Windows: https://abi-laboratory.pro/index.php?view=windows[2]


Og kontroller, om dine binære filer/dll'er importerer nogen af ​​de fjernede/ændrede symboler.


Rapporterne er genereret af værktøjet abi-compliance-checker . [3]


Indtast billedbeskrivelse her [4]