exe als Resource einbinden und bei Bedarf extrahieren und ausführen?
-
Hi Leutz!
Habe ein kleines Chatprogramm für unser Schulnetzwerk in WinAPI Programmiert.
Das tool hat hier und da einige Bugs und da es mühselig ist, nach jedem Update die exe kreisen zu lassen, habe ich einen Autoupdater geschrieben. Die Idee die ich jetzt hab ist, dass wenn der Client feststellt, dass es ein Update gibt, soll er die exe des Updaters extrahieren, welcher die Hauptexe schließt, das Update runterlädt und die Hauptexe überschreibt.Ich hab im Forum ein Beispiel für die MFC gefunden, da ich jedoch in WinAPI Programmiere, ist es für mich nutzlos

Geht das überhaupt in WinAPI?
Danke vorraus!
mfg Perner
-
Perner schrieb:
Ich hab im Forum ein Beispiel für die MFC gefunden, da ich jedoch in WinAPI Programmiere, ist es für mich nutzlos

Kan nicht sein. Dann hast du es dir nicht richtig angekuckt. Die mFC greift auch nur auf API Funktionen zurück.
-
Habe in der MSDN was gefunden, jedoch funktionierts net so wie es soll:
HRSRC hFRes; HGLOBAL hLRes; LPVOID DateiPointer = 0; DWORD iDateiGroesse = 0; hFRes = FindResource(NULL,"#102","APP"); if(!hFRes) MessageBox(0,"SCHEISSE!!!","jo",0); hLRes = LoadResource(0, hFRes); if(!hLRes) MessageBox(0,"SCHEISSE!!!","jo",0); iDateiGroesse = SizeofResource(0,hFRes); DateiPointer = LockResource(hLRes); if(!DateiPointer) MessageBox(0,"AU KACKE!!!","jo",0); ofstream fout("C:\\test.exe", ios::out | ios::binary); fout.write( (char*)DateiPointer,iDateiGroesse); fout.close();Bei fout.write kackt das Programm mit einem Ausnahmefehler ab.
Weiß irgendwer was ich falsch gemacht hab? Weiß netmehr weiter
mfg Perner
-
hat sich erledigt.
Habe nen char* cPointer erstellt, gecastet und anschließend in die Funktion eingesetzt, dann gings einfach... ich versteh zwar net warum aber es geht

Microsoft Logik halt :p
-
Fluchst du immer in deinen Fehlermeldungen?
