Kann das wahr sein?

Programm geschrieben, erster Kunde bestellt, ausgeliefert.

Dann ruft der an und sagt: Ich krieg hier aber ne Fehlermeldung.

Es fehlt die Datei richtx32.ocx

Ich hab ihm die schnell geschickt, und jetzt läuft die Software.

Nun sag ich mir, das fängt ja gut an. Muß ich jetzt bei jedem damit rechnen, daß sowas ähnliches passiert? Ich dachte, wenn ich alles getestet habe, ist alles klar. EXE erstellen und ab die Post.

Muß ich da noch mehr beachten?

Danke
Dan

Du hast noch Glück gehabt :wink:
Hallo Dan,

also ich würde denken, Du hast noch Glück gehabt, daß es nur die eine Datei war. Es hätten durchaus mehr sein können, und in solchen Fällen kriegt man oft nur kleckerweise raus, was alles fehlt.

Hintergrund ist der, daß Du zwar eine EXE gebaut hast, die aber längst nicht den gesamten Code enthält, der zur Ausführung notwendig ist. Ich stelle es mir so vor, daß nur das von Dir selbst getippte Zeug in complilierter Form da drin steckt, mit bissl Administration drumherum natürlich.

Und dieses „bissl Drumherum“ sorgt dafür, daß zur Laufzeit all jene Komponenten, die Du nicht selbst geschrieben hast - angefangen beim einfachen Button über Rich-Text-Felder bis hin zu Media-Playern und so weiter - mit eingebunden werden. Und die müssen auf dem System installiert sein.

Wenn Du nur Standard-Komponenten benutzt, hast Du bei einem normal installierten Windows-System kein Problem. Die stecken nämlich in diversen DLLs, die fast jede Windows-Anwendung benötigt. Dazu gehören die Buttons, Textfelder, Labels, … Alles andere kann zufällig auf dem Zielrechner installiert sein, muß aber nicht. Und von letzterem muß man leider immer ausgehen.

Eine Lösung bietet der Verpackungs- und Weitergabe-Assistent. Der guckt, was so alles benutzt wird von Deinem Programm und schnürt alles zu einem Setup zusammen. Sicherste Variante.

Es gibt auch andere Setup-Assistenten, auch Shareware, aber ich habe keine Ahnung, wie die arbeiten.

Alternativ würde ich gucken, was ich an Komponenten eingebunden habe: In der Werkzeugleiste und unter „Verweise“ im Menü. Da kann man ja sehen, welche DLLs oder OCXes dahinter stecken. Die können dann beigelegt werden (ggf. Copyright beachten!), müssen auf dem Zielrechner dann aber manuell registriert werden, falls sie dort fehlen.

Das sollte als Hintergrund genügen. Ich bitte darum, mich ggf. zu korrigieren bzw. zu ergänzen!

Kristian

PS: Übrigens ist die Grundvoraussetzung für einen erfolgreichen Programmstart, daß die VB-Runtime-Bibliothek installiert ist. Das ist aber in der Regel gegeben. Wenn die nicht wäre, hätten die VB-EXE-Dateien sicher einen deutlich größeren Umfang, weil sie das ganze Zeug dann selbst intus haben müßten.

hallo dan,

Muß ich jetzt bei jedem
damit rechnen, daß sowas ähnliches passiert? Ich dachte, wenn
ich alles getestet habe, ist alles klar. EXE erstellen und ab
die Post.

Muß ich da noch mehr beachten?

ja.
wenn du selbst erstellte software für rechner, die sich nicht unter deiner ständigen kontrolle befinden, verschickst, mußt du deine programme zumindest auf einem rechner testen, der zwar das gleich betriebssystem hat, wie der des empfängers, ansonsten aber jungfräulich ist. d.h. vbrunxxx.dlls, ox?-dateien u.ä. sollten noch nicht installiert sein.
auf einem solchen rechner installierst du dann dein programm (du hast doch wohl eine installationsroutine gemacht?), probierst es in allen lebenslagen aus und de-installierst es wieder.
nur wenn das alles problemlos geht (was auf anhieb nie vorkommt *g*), kannst du dein programm bedenkenlos weitergeben :smile:

gruß
ann

Das ist mir auch schon oft passiert… auf der Entwicklungsumgebung läuft alles prima, auf einem zweiten Rechner fehlen diverse Dateien.

Nimm den Visual Basic Setup Wizzard (ist in irgendeinem Unterverzeichnis) - der macht aus Deinem Projekt eine setup.exe und packt alle benötigten DLLs und OCXs dazu.

Hi Dan !

Für gewöhnlich laufen VB Programme ohne Laufzeitumgebung auf einer Windows Standard Installation nicht ! Dabei ist es egal ob es Windows 95 oder XP ist !

Um Programme erfolgreich weiterzugeben benützt Du am besten den Package & Deployment Wizard : der verpackt alles was man braucht zu einem Setup (inkl. Runtime) und installiert es auf dem jeweiligen Rechner !
Noch schöner geht es allerdings mit einem MSI-File. Dabei übernimmt (ab Win 2000) ein Service die Installation und Du bist nicht mehr von den lokalen Benutzerrechten (wie bei einem Standardsetup, denn es darf nicht jeder alles registrieren!) abhängig.

Ciao
Mario

Nachfrage zu diesem Thema :

Habe ein VB6 Programm geschrieben, getestet, lief. Auf anderen Rechnern in unserer Abteilung getestet, lief nicht. Später erzählte mein Chef ( der wohl nicht viel von VB hält ) daß seitdem „Sonderzeichen“ in seinem W98 Explorer erschienen, was an meinen Tests lag.
Weder „seitdem“ noch „an meinen Tests“ kann ich glauben, habe eigentlich nur die RS232 gequält.
Frage : Kann das sein ?

Gruß,
Uwe P.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]