Installationsroutine - Wer kann mir Helfen



  • Hallo, mein Ausbilder hat mir gesagt es wäre gut wenn man dein Programm auch auf Rechnern Ausführen könnte die kein Borland C++ 6 drauf haben, er meinte was von einer Installationsroutine. Ich brauch jetzt erstmal die Datein die Installiert werden müssen für mein Programm, ich gebe euch gleich den Quelltext, ich hab noch kleines bischen Zeit , aber nicht mehr all zu viel, die Registry eingträge die automatsich dann gemacht werden müssen würd ich auch gern kenne, wir haben grad mit c++ angefangen aber wir haben über sowas noch nichts gelernt, hoffe ihr könnt mir helfen 😞
    Quelltext:

    [cpp]UNIT 1.cpp

    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    #include "Unit2.h"
    #include "Unit3.h"
    #include "Unit4.h"
    #include "Unit5.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    Close();
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {

    Form2->Show();
    Form1->Hide();

    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {

    Form3->Show();
    Form1->Hide();
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button3Click(TObject *Sender)
    {

    Form4->Show();
    Form1->Hide();
    }
    //---------------------------------------------------------------------------

    UNIT 1.h

    //---------------------------------------------------------------------------

    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <jpeg.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TImage *Image1;
    TLabel *Label1;
    TButton *Button1;
    TButton *Button2;
    TButton *Button3;
    TButton *Button4;
    TBevel *Bevel1;
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm1(TComponent
    Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif

    Unit 2.cpp

    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    #include "Unit2.h"
    #include "Unit3.h"
    #include "Unit4.h"
    #include "Unit5.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm2 Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm2::Button3Click(TObject *Sender)
    {
    Form1->Close();
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
    double R, U, I; //Variable mit allen Werten

    U= StrToFloat(Edit1->Text); //Wandelt Text in Fließkommazahl um
    R= StrToFloat(Edit2->Text); //Das gleiche auch mit Edit 2

    I=U/R; //Berechnung die in Edit 3 später ausgegeben wird

    Edit3->Text=FloatToStr(I); //Wandelt Fließkommazahl in Text um

    }
    //---------------------------------------------------------------------------

    void __fastcall TForm2::Button2Click(TObject *Sender)
    {
    Form1->Show();
    Form2->Hide();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::Button4Click(TObject *Sender)
    {
    Form5->Show();
    Form2->Hide();
    }
    //---------------------------------------------------------------------------

    Unit2.h

    //---------------------------------------------------------------------------

    #ifndef Unit2H
    #define Unit2H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <jpeg.hpp>
    #include <Graphics.hpp>
    //---------------------------------------------------------------------------
    class TForm2 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TImage *Image1;
    TEdit *Edit1;
    TEdit *Edit2;
    TEdit *Edit3;
    TStaticText *StaticText1;
    TStaticText *StaticText2;
    TStaticText *StaticText3;
    TButton *Button1;
    TBevel *Bevel1;
    TLabel *Label1;
    TBevel *Bevel2;
    TLabel *Label2;
    TButton *Button2;
    TButton *Button3;
    TButton *Button4;
    TImage *Image2;
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button4Click(TObject Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm2(TComponent
    Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm2 *Form2;
    //---------------------------------------------------------------------------
    #endif

    Unit3.cpp
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit5.h"
    #include "Unit4.h"
    #include "Unit3.h"
    #include "Unit2.h"
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm3 Form3;
    //---------------------------------------------------------------------------
    __fastcall TForm3::TForm3(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    double R, U, I; //Variable mit allen Werten

    I= StrToFloat(Edit1->Text); //Wandelt Text in Fließkommazahl um
    R= StrToFloat(Edit2->Text); //Das gleiche auch mit Edit 2

    U=R*I; //Berechnung die in Edit 3 später ausgegeben wird

    Edit3->Text=FloatToStr(U); //Wandelt Fließkommazahl in Text um

    }
    //---------------------------------------------------------------------------
    void __fastcall TForm3::Button2Click(TObject *Sender)
    {
    Form1->Show();
    Form3->Hide();
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm3::Button4Click(TObject *Sender)
    {
    Form5->Show();
    Form3->Close();
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm3::Button3Click(TObject *Sender)
    {
    Form1->Close();
    }
    //---------------------------------------------------------------------------

    Unit3.h

    //---------------------------------------------------------------------------

    #ifndef Unit3H
    #define Unit3H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <jpeg.hpp>
    #include <Graphics.hpp>
    //---------------------------------------------------------------------------
    class TForm3 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TEdit *Edit2;
    TEdit *Edit3;
    TStaticText *StaticText1;
    TStaticText *StaticText2;
    TStaticText *StaticText3;
    TEdit *Edit1;
    TButton *Button4;
    TButton *Button3;
    TButton *Button2;
    TButton *Button1;
    TImage *Image1;
    TBevel *Bevel1;
    TBevel *Bevel2;
    TLabel *Label2;
    TLabel *Label1;
    TImage *Image2;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button3Click(TObject Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm3(TComponent
    Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm3 *Form3;
    //---------------------------------------------------------------------------
    #endif

    [i][u]Unit4.cpp

    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    #include "Unit2.h"
    #include "Unit3.h"
    #include "Unit4.h"
    #include "Unit5.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm4 Form4;
    //---------------------------------------------------------------------------
    __fastcall TForm4::TForm4(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm4::Button1Click(TObject *Sender)
    {
    double R, U, I; //Variable mit allen Werten

    I= StrToFloat(Edit1->Text); //Wandelt Text in Fließkommazahl um
    U= StrToFloat(Edit2->Text); //Das gleiche auch mit Edit 2

    R=U/I; //Berechnung die in Edit 3 später ausgegeben wird

    Edit3->Text=FloatToStr(R); //Wandelt Fließkommazahl in Text um

    }
    //---------------------------------------------------------------------------

    void __fastcall TForm4::Button2Click(TObject *Sender)
    {
    Form1->Show();
    Form4->Hide();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm4::Button4Click(TObject *Sender)
    {
    Form5->Show();
    Form4->Hide();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm4::Button3Click(TObject *Sender)
    {
    Form1->Close();
    }
    //-------------

    Unit4.h//---------------------------------------------------------------------------

    #ifndef Unit4H
    #define Unit4H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <jpeg.hpp>
    #include <Graphics.hpp>
    //---------------------------------------------------------------------------
    class TForm4 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TStaticText *StaticText3;
    TStaticText *StaticText2;
    TStaticText *StaticText1;
    TImage *Image1;
    TEdit *Edit3;
    TEdit *Edit2;
    TEdit *Edit1;
    TButton *Button4;
    TButton *Button3;
    TButton *Button2;
    TButton *Button1;
    TBevel *Bevel2;
    TBevel *Bevel1;
    TLabel *Label1;
    TLabel *Label2;
    TImage *Image2;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button3Click(TObject Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm4(TComponent
    Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm4 *Form4;
    //---------------------------------------------------------------------------
    #endif

    Unit5.cpp
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit5.h"
    #include "Unit4.h"
    #include "Unit3.h"
    #include "Unit2.h"
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm5 Form5;
    //---------------------------------------------------------------------------
    __fastcall TForm5::TForm5(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm5::Button2Click(TObject *Sender)
    {
    Form1->Show();
    Form5->Hide();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm5::Button3Click(TObject *Sender)
    {
    Form1->Close();
    }
    //---------------

    Unit5.h
    //---------------------------------------------------------------------------

    #ifndef Unit5H
    #define Unit5H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <jpeg.hpp>
    #include <OleCtnrs.hpp>
    //---------------------------------------------------------------------------
    class TForm5 : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TImage *Image1;
    TLabel *Label1;
    TButton *Button2;
    TButton *Button3;
    TOleContainer *OleContainer1;
    TBevel *Bevel1;
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject Sender);
    private: // Anwender-Deklarationen
    public: // Anwender-Deklarationen
    __fastcall TForm5(TComponent
    Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm5 *Form5;
    //---------------------------------------------------------------------------
    #endif
    [/cpp]

    DANKE FÜR EURE HILFE, bitte sendet mir auch Infos wo man son Install maker herbekommt oder so wenn ihr wisst was für ne Datein und Registrys ich brauche :-/, ihr habt echt ein Stein in meinem Herzen 🙂 dankeschön im vorraus, schönes Osterfest usw. 🙂

    Edit:
    Bitte die Code-Tags benutzen. Danke!



  • Hier ein FAQ-Link.



  • Hi,
    normal hast du auf der BCB CD das Programm InstallShieldExpress drauf. Das macht eigentlich schon alles was du brauchst. Ansonsten musst du mal nach Wiese, GPInstall, ZupMaker usw. googlen. Is in jede Preisklasse was dabei. Wiese is halt sehr teuer, GPInstall is Freeware und ZupMaker kost so um die 30 Euro (glaub ich). Die kostenlose Demo von ZupMaker is aber auch voll einstzbar -griegst blos immer so ne Meldung "Das ist eine unregistrierte Version von bla bla bla ..." angeseigt. Aber für ein einfaches Programm mit statisch eingebundenen Dlls und ohne zusätzlichen Datein brauchst du eigentlich nicht unbedingt ein Setup.
    Gruß Matthias



  • Hi,

    dafür kann ich das Nullsoft Scriptable Install System empfehlen:
    - Scriptgesteuert,
    - Freeware,
    - sehr kleiner Exe-Overhead,
    - verschiedene Sprachen,
    - benutzerdefinierte Dialoge,
    - etc....
    Es gibt so gut wie nichts, was mit dem Installer nicht geht, bei Bedarf lässt er sich mit Plugins erweitern.

    Eine recht guter Editor mit Wizards zum Erstellen der Scripte ist HM NIS EDIT.

    Gruß Hardy



  • Eines der besten Freeware-Teile ist IMHO der Little Setup Builder von Amma Software. Link hab ich jetzt nicht da, aber Google hilft da wohl.


Anmelden zum Antworten