Seite 41 von 54

Verfasst: 08.03.2007 21:18
von Thorsten1867
Version 0.8.5e
Versuchsweise Integration von:
- Internet-Updater (von GPI)
- Vista Unterstützung (ungetestet)

Verfasst: 18.03.2007 17:54
von Knight_Rider_2000
Jetzt kommt meine Meinung:
Also ich persönlich find das programm ganz nett aber ein paar Fragen hab ich dazu noch.
1. Hast du ein neuen Compiler erzeugt der dann die Installationsexe erstellt?
2. Kann man auch Cabinet Dateien einbinden?
(falls darüber auf einer Seite schon was steht, sagt es mir, ich hatte nicht die nötige Zeit alle 41 Seiten durchzublättern)

Verfasst: 18.03.2007 19:29
von Thorsten1867
Knight_Rider_2000 hat geschrieben:1. Hast du ein neuen Compiler erzeugt der dann die Installationsexe erstellt?
Ich habe ein Exe mit dem Installer und hänge die Archivdatei hinten dran.
Knight_Rider_2000 hat geschrieben:2. Kann man auch Cabinet Dateien einbinden?
Alles was sich in dem Quellordner befindet, wird in ein Archiv gepackt. Wenn du also CAB-Dateien einbindest, musst du für das Entpacken dieser selber sorgen.

Verfasst: 18.03.2007 19:35
von Knight_Rider_2000
Wie hast du das denn geschafft? dateien hinten anhängen darüber würd ich gern mehr wissen

Verfasst: 18.03.2007 19:41
von Thorsten1867

Code: Alles auswählen

Procedure LinkToExe(ExeFile.s, ZipFile.s) 
  ; (c) TS-Soft
  Protected File.l, Pack.l, Size.l, *mem
  If OpenFile(0, ExeFile) 
    ReadFile(1, ZipFile) 
    Size = Lof(1) 
    *mem = AllocateMemory(Size) 
    If *mem 
      ReadData(1, *mem, Size) 
      CloseFile(1) 
      FileSeek(0, Lof(File)) 
      WriteData(0, *mem, Size) 
      CloseFile(0) 
      FreeMemory(*mem) 
      ProcedureReturn #True 
    EndIf 
  EndIf 
  ProcedureReturn #False 
EndProcedure

Verfasst: 18.03.2007 19:44
von ts-soft
Knight_Rider_2000 hat geschrieben:Wie hast du das denn geschafft? dateien hinten anhängen darüber würd ich gern mehr wissen
Ganz simple, hier das Grundschema:

Code: Alles auswählen

DataSection
  sfx: IncludeBinary "sfx.exe" : sfx_end
EndDataSection

File.l = CreateFile(#PB_Any, "mysetup.exe")

If File
  WriteData(File, ?sfx, ?sfx_end - ?sfx)
  
  WriteData(File, das anzuhängende gepackte Archiv, die grösse)
  CloseFile(File)
EndIf
Damit die sfx.exe später auf die Daten zugreifen kann, gibts auch versch.
Verfahren, z.B. indem man die grösse der sfx.exe hinten anhängt, so das
man weiß, wo die Daten anfangen.

Gruß
Thomas

// edit
In dem von Thorsten geposteten Code befindet sich ein
Declarations-Fehler, Mem wird deklariert und *Mem verwendet, vielleicht
die Strafe dafür das nicht beisteht, von wem der ist :mrgreen:

Verfasst: 18.03.2007 19:59
von Thorsten1867
Ich sehe, ich kann meine ZIP-Unterstützung noch verbessern.
ts-soft hat geschrieben:In dem von Thorsten geposteten Code befindet sich ein
Declarations-Fehler, Mem wird deklariert und *Mem verwendet, vielleicht
die Strafe dafür das nicht beisteht, von wem der ist :mrgreen:
Das mag daran liegen, dass ich ihn schnell mal aus meinem Programm herauskopiert habe und nicht die geringste Ahnung habe, von wem er stammt, nachdem kein Kommentar vom Autor im Orginal-Codeschnippsel dabei ist. :wink:

Verfasst: 18.03.2007 20:21
von ts-soft
>> nachdem kein Kommentar vom Autor im Orginal-Codeschnippsel
Das Orginal (DBin_LinkToExe(DBinFile.s, ExeFile.s)) befindet sich in den
Examples zur PBOSL_Lib DBin! Als Autor des Examples hab ich mich nicht
vermerkt, stimmt, [ironie] ist ja eigentlich klar, das dieser Code nur von mir
stammen kann [/ironie], und enthält keinen Declarationsfehler! :D
Die für Dich angepaßte Version hab ich in einem, Deiner Forum-Threads,
gepostet, ich glaube im englischen Forum.

Gruß
Thomas

Verfasst: 18.03.2007 20:31
von Thorsten1867
Habe eine Kommentar in die Procedure im Quellcode eingefügt, damit alles seine Ordnung hat.

Verfasst: 18.03.2007 20:54
von ts-soft
Thorsten1867 hat geschrieben:Habe eine Kommentar in die Procedure im Quellcode eingefügt, damit alles seine Ordnung hat.
Wichtiger wäre es die Deklaration zu korrigieren :mrgreen: