Manifest to Exe Problem

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Manifest to Exe Problem

Beitrag von X0r »

Im Code-Archiv gibts ja ein Beispiel für "Manifest to Exe".
Nur gehen meine Exedatei immer kaputt.

Weiß jemand, woran das liegen könnte?

Code: Alles auswählen

; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7241&highlight=
; Author: spangly (updated for PB3.93 by ts-soft, updated for PB 4.00 by Andre)
; Date: 16. August 2003
; OS: Windows
; Demo: No

; Note: Will not work on Win9x !!!
; The following code is an example of how to add the XP manifest file to your program,
; it could be adapted to add anything you like to the resource section of any program.
; There isn't much error checking, but I've added comments so you know what's going on  

#RT_MANIFEST  = 24 
#LANG_ID      = $0809 ; English (United Kingdom) 

; change the following to the name of the exe 
filename.s="filename.exe" 

manifest.s=filename+".manifest" ; tag the ".manifest" suffix onto the filename 

;Get the size of the manifest, allocate some memory and load it in. 
size.l=FileSize(manifest) 
If size>0 
  mem.l=AllocateMemory(size) 
  ReadFile(0,manifest) 
  ReadData(0,mem,size) 
  CloseFile(0) 
EndIf 

; Warning, if the manifest already exists, it will be overwritten ! 

hUpdateRes = BeginUpdateResource_(filename, FALSE) 
; if hUpdateRes = 0 then error occured 

result = UpdateResource_(hUpdateRes,#RT_MANIFEST,1,#LANG_ID,mem,size) 
; if result = 0 then an error occured 

result = EndUpdateResource_(hUpdateRes, #False) 
; if result = 0 then an error occured 

If mem
  FreeMemory(mem) 
EndIf

End 

; IDE Options = PureBasic v4.02 (Windows - x86)
; Folding = -
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Versuch doch mal die #LANG_ID auf International zu stellen (weiß den Wert aber nicht)
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Hab #LANG_NEUTRAL benutzt, geht auch nicht.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Hat du vielleicht das hier vergessen?

Code: Alles auswählen

; change the following to the name of the exe
filename.s="filename.exe"
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

haha -_-

Edit: Klappts denn bei irgenwem?
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Bin gerade durch diesen Thread hierdrauf gestoßen:

http://www.purebasic.fr/german/viewtopic.php?t=15467

Das es bei dir nicht klappt liegt wahrscheinlich daran das in der Zielanwendung keine Resourcen vorhanden sind. Es muss aber mindests eine Resource vorhanden sein (Icon, Cursor, Bild, etc.) sonst schlägt UpdateResource_() fehl.

Ich habe bis jetzt leider noch nicht rausgefunden wie man nachträglich eine Resource hinzufügen wenn das Programm noch über keine verfügt.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten