Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigenes Install-Prog (https://www.delphipraxis.net/38430-eigenes-install-prog.html)

Master_RC 19. Jan 2005 12:45


Eigenes Install-Prog
 
hi leutz!

hoffe, kommt hier rein...
iss zwr erst mein erster post, bin abba trotzdme kein delphi/foren-n00b ;)

naja, zum problem:


ich möchte mir gerne ein eigenes installprog zusammenbasteln, ABER:

wie mache ich das, dass ich dann alle möglichen dateien in eine "zusammenschmelze", und diese dann wieder trennen kann? das installprog sollte natürlich wieder verwendbar sein ;)

dann noch, dass ich das prog selber neu ertsllen kann, sprich, ich suche mir einen ordner aus und der erstellt eben dann den in das prog rein...

ich wüsste halt nicht, wie ich am besten anfange... :(

könnt ihr mir da helfen?

Dust Signs 19. Jan 2005 12:48

Re: Eigenes Install-Prog
 
Zitat:

Zitat von Master_RC
ich wüsste halt nicht, wie ich am besten anfange...

Am besten gar nicht. Ich hab das auch mal versucht, bin aber schon an der Akzeptanz der Leute gescheitert (Standardinstaller sind und bleiben die beste Wahl - sag ich mal gilt für 99% der Fälle, weil die User sich nicht "umgewöhnen" müssen). Ich persönlich verwende NSIS; Inno Setup is auch nicht schlecht.

Dust Signs

arbu man 19. Jan 2005 13:00

Re: Eigenes Install-Prog
 
Häng einfach ne zip Datei an die Exe an

Luckie 19. Jan 2005 13:02

Re: Eigenes Install-Prog
 
Also ein selbstentpackedes Archiv zu erstellen ist kein Problem. Siehe dazu meine SFXTools auf meiner Delphi Seite. Dazu hängt man im Prinzip die Dateien nur an eine Exe drann, die die dann wieder auf die Festplatte schreibt. Etwas schwerer wird es schon, wenn das ganze auch noch kompimiert werden soll. Aber ein Installationsprogramm muss, meiner Meinung nach, mehr können: Registryeinträge machen, einen Uninstaller mitliefern usw. Inno-Setup ist wohl OpenSource. Werf dort mal einen Blick in die Sourcen und du wirst sehen, dass es ein ziemlicher aufwand ist.

Jelly 19. Jan 2005 13:31

Re: Eigenes Install-Prog
 
Luckie nimmt mir die Worte aus dem Mund. Es reciht halt nicht aus einem Archiv ne Datei in ei Verzeichnis zu extrahieren... Das kannst du auch mit einem ZIP File. Dazu gehören Registryeinträge, INI Files, Uninstall... Vor allem muss darauf geachtet werden daß nicht versehentlich ne Datei überschrieben wird...

Innosetup oder NSIS, beide sind Open Source. Für InnoSetup gibts auch ne GUI.

Ich selber nutze Astrum Install Wizard. Das war mir allemal die 89$ (für die Prof. Version, 49$ für die Standard) wert, grad beim jetzigen Dollarkurs.

Aber ohne sich auf diese 3 Programme festzulegen, gibts noch viele mehr... Installshield, Installshield Express (ist bei der Prof. Version von Delphi mit dabei), Wise...

Also ich würd mich nicht dranmachen, selbst so einen Installer zu schreiben.

s.h.a.r.k 19. Jan 2005 21:54

Re: Eigenes Install-Prog
 
Abend!

Ich habe mir mal so nen eigenen Installer programmiert - allerdings war er halt sehr auf meine eine Anwendung fixiert. Also gar nicht variabel! Es geht schon so etwas zu machen aber es ist halt auch einiges an Arbeit, die dahinter steckt! Nimm echt lieber so einen vorgefertigten! Dann funzt das ganze auch fast zu 100% (wenn halt Windows mitspielt :-D )

Also bis denn...

mfg shark

yankee 19. Jan 2005 22:27

Re: Eigenes Install-Prog
 
Lass ihn doch ein installer proggen, wenn er will. Er will es doch schließlich nicht verkaufen, oder? Wenn ich ehlich bin, hasse ich installer grundsätzlich. Installer sind meistens ein zeichen dass das programm registry-einträge erstellt und registryeinträge sprechen eindeutig gegen meien Philosophie des programmierens. Alle bessren programme kommen ohne Installer aus (bsp. Mozilla, miranda,...)
OK, ich sehe ein, das Installer ganz praktisch sein können und ich verwende sie auch, aber wer den Installer geschrieben hat, ist mir dann wirklich egal!
Aber das hier ist schließlich keine Diskusssion über den Sinn und Unsinn von Installern, sondern, wie man sowas schreibt./OT

Am betsen installierst du dir erstmal ZipMaster (bzw. DelZip), das gibt es hier.
Damit kannst du Zipdateien packen udn endpacken, sit ganz einfach.
Dann würde ich in das Ziparchiv eine Datei script.txt oder sowas schreiben. Wenn der installer in aktion tritt, extrahiert er erst temporär diese Datei und wertet die aus. Am besten ist diese Datei der einfachheit halber entweder ein FileStream, eine ini-datei oder am einfachsten eine csv-Datei. das könnte so aussehen:
anweisung;parameter1;..;parametern
also umgestez mal als beispiel
ext;file1.dat;%distdir%
das heißt als erstes merkt das programm ext, also muss es eien datei extrahieren. Dann kommt es zu file1.dat und es weiß, es handelt sich um die datei file1.dat. %distdir% müsstest du dann mit stringreplace einfach durch den Pfad erstezen, der der User angegeben hat, wo das Programm hin installiert werden soll. Dann hast du alles was du baruchst, um diese Datei zu extrahieren. weitergehend sollte das prog wildcards (also * und ?) unterstützen (also zum Beispiel um alle .dat Dateien zu extrahieren). Dann kannst du dir noch ein paar schöne Funktionen ausdeneken. Zum Beispiel was um registryeinträge zu generieren und ini-Files zu generieren.

gsh 19. Jan 2005 23:17

Re: Eigenes Install-Prog
 
Ich hab in letzter Zeit auch einmal einen Installer programmiert und irgendwie finde ich des alle hier etwas vom Thema abgekommen sind denn ihr schreibt des es sich nichts bringt doch er wollte doch nur wissen wie man Dateien mitanander verschmelzt :warn: .

Also werd ich da jetzt ein bischen Code rüberschieben:
(Quelle: Easy Helper //recht praktisch)
Ich hab nur noch ein paar komentare hinzugefügt!
Code:
procedure Join(Main_FileName, Hidden_Filename : string);
var
  MainFile   : TFileStream;
  HiddenFile : TFileStream;
  SizeOfFile : Cardinal;   // Größe der Hauptdatei
  SearchWord : string[10]; //Für die Speicherung der Orginalgröße
begin
  MainFile      := TFileStream.Create(Main_FileName, fmOpenReadWrite or fmShareDenyWrite);
  try
    SizeOfFile    := MainFile.Size; // Größe der Hauptdatei speichern
    HiddenFile    := TFileStream.Create(Hidden_Filename, fmOpenRead or fmShareDenyNone);
    try
      MainFile.Seek(0, soFromEnd);  //Ich muss gestehen das hab ich auch noch nicht
                                     //richtig verstanden. :oops:
      MainFile.CopyFrom(HiddenFile, 0); //Zweitei datei zur ersten hinzufügen
      MainFile.Seek(0, soFromEnd);  //Immer noch nicht verstanden
    finally
     HiddenFile.Free;
    end;
    SearchWord := IntToStr(SizeOfFile) + #0; //Die größe der Hauptfile auswerten
    MainFile.Seek(0, soFromEnd);
    MainFile.WriteBuffer(SearchWord, SizeOf(SearchWord)); //abspeichern
  finally
   MainFile.Free;
  end;
end;

procedure Split(Main_FileName, NewFromMain_Filename : string);
var
  MainFile : TFileStream;
  SplitFile : TFileStream;
  HelpStr  : string[10]; //wieder größe der Hauptdatei
  GetSize  : integer;
begin
  MainFile   := TFileStream.create(Main_FileName, fmOpenReadWrite or fmShareDenyWrite);
  try
    SplitFile := TFileStream.Create(NewFromMain_Filename, fmCreate or fmShareDenyNone);
    try
      MainFile.Position  := MainFile.Size - 11; //Zum auslesen Positon von Helpstr bestimmen
      MainFile.Read(HelpStr, 10); //auslesen
      GetSize := StrToInt(HelpStr); //abspeichern
      MainFile.Position := GetSize; //position der zweiten datei festlegen
      SplitFile.CopyFrom(MainFile, MainFile.Size-GetSize); //auslesen
      SplitFile.Size := SplitFile.Size - 11; //bei zweier datei hilfe text abschneiden
      MainFile.Size := GetSize; //Haupt datei auf Orginalgröße abschneiden kann auch wegelassen werden falls die Hauptfile die Datei behalten soll!
    finally
     SplitFile.Free;
    end;
  finally
   MainFile.Free;
  end;
end;
Ich hoff des konnte dir helfen :mrgreen:


gsh

Luckie 19. Jan 2005 23:22

Re: Eigenes Install-Prog
 
also, wenn es nur darum geht: http://www.luckie-online.de/Delphi/Sonstiges/ -> TArchive Enthält eine Klasse, um Dateien aneinanderzuhängen. Eventuell kann es noch mehr, bin mir aber nicht sicher - lange nicht angekuckt. ;)

Robert_G 19. Jan 2005 23:29

Re: Eigenes Install-Prog
 
Eigener Installer? Das ist gar nicht sooo abwegig. ;)
Schaue dir mal das Windows Installer SDK (MSI) an.
@yankee
Wer auch immer etwas gegen Installer hat, hat sich noch nie genauer mit MSI befasst. :mrgreen:

Du könntest eigentlich alles nötige per TypeLibrary aus dem MSI SDK importieren und darauf deine Anwendung aufbauen.
MSI stellt momentan DIE Lösung für Windows SetUps dar. Schließlich kann man es so konfigurieren, dass Windows deine Anwendung autom. repariert und gelöschte Bibliotheken nachinstalliert.
Eine Idee wäre ein AddIn für die Delphi IDE. Wenn Borland schon keine SetUp-Projects anbietet, dann hast du als Schüler sicher Zeit dafür. :P
Das wäre übrigens eine ziemlich coole Idee ( :gruebel: ), wer die SetUp-Projects aus dem VS kennt weiß was ich meine.
Die IDE weiß ja am besten, welche TypLibs, DLLs und Packages deine Anwendung benötigt, solch ein AddIn könnte einem die Arbeit ziemlich vereinfachen. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz