Board index » delphi » Wie erstelle ich eine Installationsroutinen für Delphi-Programme

Wie erstelle ich eine Installationsroutinen für Delphi-Programme

Hallo Leute,

ich bin dabei, in Delphi (2) ein bischen mich in die Entwicklung
einzuarbeiten und sto?e nun auf die ersten Probleme. Ich m?chte fr die
von mir
entwickelten Programme ein Installationsprogramm schreiben (in Delphi)
und finde
dabei wenig Untersttzung in meiner Literatur. So fehlen mir die frher
in
PASCAL m?glichen Betriebssystembefehle zum Kopieren e.c. . Ich m?chte
fr meine
Programme auch gerne automatsch eine Fenster generieren. Leider fehlt
mir hierzu
das Wissen, um aus Delphi heraus eine LNK-Datei zu erstellen und auch
wie ich
eine Programmgruppe anlege. Vielleicht k?nnt Ihr mir helfen. Am liebsten
w?re
mir ein kleines in Delphi geschriebenes Beispiel. Ich wrde mich sehr
freuen.

Vielen Dank
Volker Krause

__________________________________________
Volker Krause
Rinchweg 13a
35619 Braunfels
E-Mail: Krause-Braunf...@t-online.de

 

Re:Wie erstelle ich eine Installationsroutinen für Delphi-Programme


Zun?chst dieser Ratschlag: Ein einigerma?en sicheres
Installationsprogramm zu schreiben ist keine triviale Aufgabe. Es gibt
mittlerweile sehr gute Produkte, die einem das abnehmen. Mit Delphi 3
und 4 (Professional) kommt beispielsweise InstallShield Express, ein
recht ordentliches Installations-Paket, das einem diese Aufgabe abnimmt.

Wenn Sie es wirklich selbst tun wollen, mssen Sie auf die Win32 API
zurckgreifen. Das zugeh?rige Help-File (win32.hlp) sollte an sich mit
Delphi mitgeliefert sein (bin nicht sicher ob bei Delphi 2). Da gibt es
Funktionen wie CopyFile usw. Das Start Men ist ein einfaches Directory,
das normalerweise (aber eben nicht immer) unter "\Windows\Start
Menu\Programs" zu finden ist  (bei nicht englischen Win95 Versionen kann
es anders hei?en. Da wird es eben nicht-trivial). Eine Programm-Gruppe
zu erzeugen, hei?t einfach dort ein neues Verzeichnis zu erstellen. Wenn
Sie da wirklich eintauchen wollen hier noch der Hinweis auf die Win32
API Funktion SHGetSpecialFolderLocation. Wie man .lnk Files erzeugt wei?
ich leider nicht. Aus Win32.hlp stammt dazu dieses Code-Fragment (leider
in C, nicht Pascal):

HRESULT CreateLink(LPCSTR lpszPathObj,
    LPSTR lpszPathLink, LPSTR lpszDesc)
{
    HRESULT hres;
    IShellLink* psl;

    // Get a pointer to the IShellLink interface.
    hres = CoCreateInstance(&CLSID_ShellLink, NULL,
        CLSCTX_INPROC_SERVER, &IID_IShellLink, &psl);
    if (SUCCEEDED(hres)) {
        IPersistFile* ppf;

        // Set the path to the shortcut target, and add the
        // description.
        psl->lpVtbl->SetPath(psl, lpszPathObj);

        psl->lpVtbl->SetDescription(psl, lpszDesc);

       // Query IShellLink for the IPersistFile interface for saving the
       // shortcut in persistent storage.
        hres = psl->lpVtbl->QueryInterface(psl, &IID_IPersistFile,
            &ppf);

        if (SUCCEEDED(hres)) {
            WORD wsz[MAX_PATH];

            // Ensure that the string is ANSI.
            MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1,
                wsz, MAX_PATH);

            // Save the link by calling IPersistFile::Save.
            hres = ppf->lpVtbl->Save(ppf, wsz, TRUE);
            ppf->lpVtbl->Release(ppf);
        }
        psl->lpVtbl->Release(psl);
    }
    return hres;

Quote
}

Ich will Sie nicht entmutigen, aber ich programmiere schon lang in
Delphi und C und wrde mich scheuen diese Aufgabe anzugehen. Wenn das
ganze nicht so professionel sein mu?: Die CopyFile etc. API ist einfach,
und die Shortcuts (Verknpfungen) kann der Benutzer dann ja vielleicht
mit den entsprechenden Anweisungen selbst erstellen.

Gerhard

Quote
Volker Krause wrote:

> Hallo Leute,

> ich bin dabei, in Delphi (2) ein bischen mich in die Entwicklung
> einzuarbeiten und sto?e nun auf die ersten Probleme. Ich m?chte fr die
> von mir
> entwickelten Programme ein Installationsprogramm schreiben (in Delphi)
> und finde
> dabei wenig Untersttzung in meiner Literatur. So fehlen mir die frher
> in
> PASCAL m?glichen Betriebssystembefehle zum Kopieren e.c. . Ich m?chte
> fr meine
> Programme auch gerne automatsch eine Fenster generieren. Leider fehlt
> mir hierzu
> das Wissen, um aus Delphi heraus eine LNK-Datei zu erstellen und auch
> wie ich
> eine Programmgruppe anlege. Vielleicht k?nnt Ihr mir helfen. Am liebsten
> w?re
> mir ein kleines in Delphi geschriebenes Beispiel. Ich wrde mich sehr
> freuen.

> Vielen Dank
> Volker Krause

> __________________________________________
> Volker Krause
> Rinchweg 13a
> 35619 Braunfels
> E-Mail: Krause-Braunf...@t-online.de

--
---------------------------------------------------------------------
Dr. Gerhard Grosse       Phone:   +49 89 289-12567
Physik-Department E15    Fax:     +49 89 3206780
TU Muenchen              E-mail:  ggro...@ph.tum.de
D-85747 Garching         http://srv.e15.physik.tu-muenchen.de/grosse/
Germany
---------------------------------------------------------------------

Other Threads