Programm (NSIS) läuft nicht unter jedem Windows 7
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
s.untern:)
Zuletzt geändert von Marcus Breuer am 5. August 2011 11:11, insgesamt 1-mal geändert.
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Entschuldige Christian81 ich habe natürlich nur stupmfsinnig drauf bestanden, dass mein hochgeladener Code funktionieren würde und meine Änderungen nur wüst hier in Antworten formuliert. Ich habe jetzt mal den aktuellen Stand hochgeladen und dieses mal ist es soweit bei mir fehlerlos kompilierbar. Ich hatte auch die obigen Ausgaben zum Finden eines Fehler darauf angewendet. Ich hatte auch die Datenbankdatei neu erstellt.
Also wenn ich nun eine Realease-Version erstelle und die Datenbankdatei dann in den Release Ordner kopiere funktioniert soweit auch die Ansicht der Datenbank. Also es werden Datensätze bzw. zumindest die die Header angezeigt, wenn die Datenbank halt noch leer ist.
Danke ScyllaIllciz für den Hinweis. Das war sehr dumm von mir. Das mit den connects hatte ich auch schon soweit korrigiert. Das hatte mir zwar nicht beim Kompilieren geschadet, aber nach der installation war das Programm nicht ansatzweise funktionstüchtig. Wegen der Registry-Einträge, da fehlt definitiv noch eine Routine, die halt irgendetwas tut, wenn die Einträge nicht vorhanden sind. Ich hatte mich aber erstmal damit begnügt, die Schlüssel selbst unter
HKEY_CURRENT_USER -> Software -> FireAndIce -> Datenbank ->Anmeldung angelegt. Das passte für die erste Verwendund und um mal zu schauen, wie sich das Programm verhält. Mir wäre auch erstmal nur recht, wenn es denn so auch ans laufen kommt. Das Programm soll später nur auf einem Rechner eines Freundes laufen, von daher ist das auch schnell gemacht.
Vielen Dank an Euch zwei. Grüße und nochmals Entschuldigung
Also wenn ich nun eine Realease-Version erstelle und die Datenbankdatei dann in den Release Ordner kopiere funktioniert soweit auch die Ansicht der Datenbank. Also es werden Datensätze bzw. zumindest die die Header angezeigt, wenn die Datenbank halt noch leer ist.
Danke ScyllaIllciz für den Hinweis. Das war sehr dumm von mir. Das mit den connects hatte ich auch schon soweit korrigiert. Das hatte mir zwar nicht beim Kompilieren geschadet, aber nach der installation war das Programm nicht ansatzweise funktionstüchtig. Wegen der Registry-Einträge, da fehlt definitiv noch eine Routine, die halt irgendetwas tut, wenn die Einträge nicht vorhanden sind. Ich hatte mich aber erstmal damit begnügt, die Schlüssel selbst unter
HKEY_CURRENT_USER -> Software -> FireAndIce -> Datenbank ->Anmeldung angelegt. Das passte für die erste Verwendund und um mal zu schauen, wie sich das Programm verhält. Mir wäre auch erstmal nur recht, wenn es denn so auch ans laufen kommt. Das Programm soll später nur auf einem Rechner eines Freundes laufen, von daher ist das auch schnell gemacht.
Vielen Dank an Euch zwei. Grüße und nochmals Entschuldigung
- Dateianhänge
-
- Archiv.zip
- (8.14 KiB) 188-mal heruntergeladen
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Es gibt so ein paar wiedersprüchliche Sachen in Deinem Code:
kontakt.cpp:
1. Wenn Du einen Member "bool kontr" anlegst, dann brauchst Du das der Methode "datenSpeichern" nicht übergeben, ist ja in der Klasse mit drinnen.
2. Brauchst Du meiner Meinung nach keine boolsche Variable. Wenn Deine StringList leer ist, einfach die Methode nicht aufrufen
3. Warum nimmst Du nicht die statische Methode der QMessageBox::warning(...)?
4. QSqlQuery::exec hat einen Rückgabewert, den man auswerten sollte um bei Fehler die Fehlermeldung auszulesen.
Mehr habe ich mir erstmal nicht angesehen.
Warum benutzt Du nicht den Designer? Ich benutzte Ihn immer. Nur die Sachen, die nicht im Desiner gehen, füge ich im Code hinzu. 1. Kann man sich so die Vorschau ansehen, ohne zu kompilieren, 2. ist das Layout schneller erstellt (meine Meinung) und 3. ist der erstelle Code zu 99,99% sauber!
kontakt.cpp:
1. Wenn Du einen Member "bool kontr" anlegst, dann brauchst Du das der Methode "datenSpeichern" nicht übergeben, ist ja in der Klasse mit drinnen.
2. Brauchst Du meiner Meinung nach keine boolsche Variable. Wenn Deine StringList leer ist, einfach die Methode nicht aufrufen
3. Warum nimmst Du nicht die statische Methode der QMessageBox::warning(...)?
4. QSqlQuery::exec hat einen Rückgabewert, den man auswerten sollte um bei Fehler die Fehlermeldung auszulesen.
Mehr habe ich mir erstmal nicht angesehen.
Warum benutzt Du nicht den Designer? Ich benutzte Ihn immer. Nur die Sachen, die nicht im Desiner gehen, füge ich im Code hinzu. 1. Kann man sich so die Vorschau ansehen, ohne zu kompilieren, 2. ist das Layout schneller erstellt (meine Meinung) und 3. ist der erstelle Code zu 99,99% sauber!
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Ich habe Dein aktuelles Programm getestet und die SQLite Datenbank wird angezeigt!
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Danke Dir für die Antwort, also um auf die Widersprüche Bezug zu nehmen, ich hatte bisher nur eine Vorlesungsreihe zu C++ und ein 1-wöchigs Praktikum zu Qt und seitdem beschäftige ich mich so viel wie es nebenbei möglich ist mit Qt. Also ich kann bei eurem Niveau schlicht nicht mithalten. Ich schaue auch hin und wieder mal, ob ich hier und da vllt. mal eine Antwort auf eine Frage von Leuten geben kann, denen es genauso geht, aber mir fällt es einfach noch relativ schwer dann einen fremden Quelltext zu verstehen, bzw. auch oft einfach nur schon Antworten auf meine Fragen zu verstehen, wenn Sie dann nicht detailliert genug sind, so dass ich sie verstehe. Das tut mir Leid, aber ich denke, der Lerneffekt war bisher doch recht groß. Ok lange Rede kurzer Sinn:)
Hattest Du vllt. einmal probiert, daraus einen Installer zu machen? Denn wenn dann das Programm auf einem anderen Rechner installiert wird, als auf dem Build-Rechner, dann wird mir zwar mittlerweile die leere Datenbank angezeigt, jedoch wenn ich dann probiere etwas hinzuzufügen, dann will das nicht wirklich.
Bisher war es immer so, und da habe ich bisher noch keine Ahnung, dass ich das Programm neustarten musste, damit die Änderungen drin enthalten waren. Aber das versagt auch dann.
Ah verdammt, ich habe das Skript und die DLLs ja nicht hochgeladen. Möchtest Du das NSIS Skript einmal haben? Die DLLs werde ich dann wohl nur auflisten können.
Und Danke auch für die Hinweise. Das werde ich mir definitiv genauer ansehen.
Vielen Dank und viele Grüße,
Marcus
Hattest Du vllt. einmal probiert, daraus einen Installer zu machen? Denn wenn dann das Programm auf einem anderen Rechner installiert wird, als auf dem Build-Rechner, dann wird mir zwar mittlerweile die leere Datenbank angezeigt, jedoch wenn ich dann probiere etwas hinzuzufügen, dann will das nicht wirklich.
Bisher war es immer so, und da habe ich bisher noch keine Ahnung, dass ich das Programm neustarten musste, damit die Änderungen drin enthalten waren. Aber das versagt auch dann.
Ah verdammt, ich habe das Skript und die DLLs ja nicht hochgeladen. Möchtest Du das NSIS Skript einmal haben? Die DLLs werde ich dann wohl nur auflisten können.
Und Danke auch für die Hinweise. Das werde ich mir definitiv genauer ansehen.
Vielen Dank und viele Grüße,
Marcus
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Das NSIS Skript reicht
. Dann muss ich das nicht selber machen.
Die Kritik ist ja auch nicht böde gemeint, sondern soll zum Nachdenken anregen
P.S.
Ich habe immer eine "nackige" virtuelle Maschine (Windows XP, Linux), in der ich die Programme teste.
Die Kritik ist ja auch nicht böde gemeint, sondern soll zum Nachdenken anregen
P.S.
Ich habe immer eine "nackige" virtuelle Maschine (Windows XP, Linux), in der ich die Programme teste.
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Ne, ich verstehe das absolut und Du kannst mir glauben, ich bin sehr froh über jeden Hinweis und jede Kritik. Sonst kann man nicht lernen, wie es besser oder zumindest alternativ auch funktioniert. Die virtuelle Maschine habe ich mir gestern auch installiert, jedoch leider noch nicht Qt etc. Aber ich probiere es einmal darauf zu installieren. Danach kommt sofort das Skript.
Noch eine Anmerkung dazu, ich habe mir den Ordner sqldrivers rausgesucht und die beiden Dateien, ich denke, es sind Debug-Dateien entfernt und diesen Ordner dann in das Installationsverzeichnis kopiert.
Wenn ich jetzt das Programm installiere und es aus dem abschließenden Installationsdialog öffnen lasse, dann wird mir die Datenbank angezeigt, jedoch starte ich es erneut um dann eine Änderung auch sehen zu können, scheint er die Datenbank nicht mehr zu finden. Dann sehe ich auch nicht mehr die Header Kundennummer, Ansprechpartner,...
Das Skript kommt sofort.
Viele vielen Dank
Noch eine Anmerkung dazu, ich habe mir den Ordner sqldrivers rausgesucht und die beiden Dateien, ich denke, es sind Debug-Dateien entfernt und diesen Ordner dann in das Installationsverzeichnis kopiert.
Wenn ich jetzt das Programm installiere und es aus dem abschließenden Installationsdialog öffnen lasse, dann wird mir die Datenbank angezeigt, jedoch starte ich es erneut um dann eine Änderung auch sehen zu können, scheint er die Datenbank nicht mehr zu finden. Dann sehe ich auch nicht mehr die Header Kundennummer, Ansprechpartner,...
Das Skript kommt sofort.
Viele vielen Dank
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Bitte in der virtuellen Maschine kein Qt installieren!!! Du willst doch testen ob Dein Programm auf einem anderen Rechner funktioniert, oder? Also kein Qt installieren und nur Deine Installation testen!
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Ja stimmt. Fehler von mir. Dachte zum parallel programmieren, aber dann könnte ich die Installation wirklich nicht sauber testen. ich habe ier das Skript. Das ist auch das, welches ich mir dann zum Schluss zusammengebastelt hatte. Also wenn es jetzt bei Dir funktioniert, dann bekommst Du ein DIN A3 Foto, wie ich einen Besen "fresse"
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Ok, also in der Virtuellen Maschine mit Windows XP Home Edition läuft das Programm bei mir garnicht erst an. Es läuft bisher nur schlecht bzw. falsch unter Windows 7, allerdings auch auf einem Rechner auf dem kein Qt installiert ist.
Gebaut wurde der Installer unter Windows 7 Home Edition. Hoffe, dass es heute keinen Besen zu Mittag gibt:)
Gebaut wurde der Installer unter Windows 7 Home Edition. Hoffe, dass es heute keinen Besen zu Mittag gibt:)
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
oh man, ich habe jetzt garnicht gesehen, dass die dateierweiterung des skripts garnicht erlaubt ist. jetzt sollte es aber klappen
- Dateianhänge
-
- FireAndIce.nsi.zip
- (1.09 KiB) 175-mal heruntergeladen
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
ok, also, ich poste hier eine menge. unter der virtuellen maschine läuft das programm problemlos. ich habe natürlich ganz vergessen, was du eben noch angemerkt hast. und zwar habe ich vergessen die schlüssel noch in die registry einzufügen. danach läuft es wie gewollt. einziges manko, ich muss das programm neustarten um halt die änderungen zu sehen.
allerdings unter windows 7 findet es beim neustart scheinbar nicht mehr die datenbank. ich bin dir sehr sehr dankbar. es läuft endlich mal.
allerdings unter windows 7 findet es beim neustart scheinbar nicht mehr die datenbank. ich bin dir sehr sehr dankbar. es läuft endlich mal.
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Also ich habe mir Dein Installskript angeschaut und angepasst. Das SQLite Plugin hat nocht gefehlt. Achtung ich habe den Source Pfad geändert, musst Du ggf. anpassen. Habe es unter Windows 7 64Bit und Windows XP getestet, funktioniert überall, auch nach einem Neustart!
- Dateianhänge
-
- FireAndIce.zip
- (1.08 KiB) 181-mal heruntergeladen
-
Marcus Breuer
- Beiträge: 113
- Registriert: 31. März 2011 17:19
- Wohnort: Aachen
- Kontaktdaten:
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Super, vielen vielen Dank. Ich habe es jetzt einmal so gemacht, dass ich die Pfade so, wie Du das Skript hochgeladen hattest, eingerichtet hatte und einmal so, dass das Skript mit allen Dateien und dem Ordner sqldrivers im selben Verzeichnis lag. Dann natürlich die hochgestellten Anführungszeichen und alles, was zum Pfad gehörte raus genommen. Es klappt auch wunderbar, allerdings läuft es bei mir nur auf der virtuellen Maschine unter XP. Unter Windows 7 auf dem Build-Rechner scheint es allerdings mittlerweile auch zu funktionieren.
Auf einem anderen Rechner, auch mit Windows 7, jedoch statt der Home Edition unter der Professional, zeigt er mir nach wie vor beim zweiten Start des Programms leider keine Datenbank mehr an. Ich werde es einfach mal auf dem Rechner des Freundes, der das Programm brauchte, ausprobieren. Sonst fiele mir aber auch nichts mehr ein.
Vielen vielen Dank für deine Hilfe und das Du dir die Zeit genommen hast, das Skript einmal durchzusehen.
Viele Grüße,
Marcus
Nachtrag: Eine Frage, die mir bei der Ansicht im Dependency Walker aufgefallen ist, die Qt-DLLs und die Compiler-DLL liegen ja in 32-bit vor. Kann mir das auf einem 64-bit Betriebsystem zum Verhängnis werden? Eigentlich sollten doch auch 32-bit Dateien unter einer 64-bit OS laufen, nur dann eher umgekehrt nicht oder liege ich da ganz daneben?
Auf einem anderen Rechner, auch mit Windows 7, jedoch statt der Home Edition unter der Professional, zeigt er mir nach wie vor beim zweiten Start des Programms leider keine Datenbank mehr an. Ich werde es einfach mal auf dem Rechner des Freundes, der das Programm brauchte, ausprobieren. Sonst fiele mir aber auch nichts mehr ein.
Vielen vielen Dank für deine Hilfe und das Du dir die Zeit genommen hast, das Skript einmal durchzusehen.
Viele Grüße,
Marcus
Nachtrag: Eine Frage, die mir bei der Ansicht im Dependency Walker aufgefallen ist, die Qt-DLLs und die Compiler-DLL liegen ja in 32-bit vor. Kann mir das auf einem 64-bit Betriebsystem zum Verhängnis werden? Eigentlich sollten doch auch 32-bit Dateien unter einer 64-bit OS laufen, nur dann eher umgekehrt nicht oder liege ich da ganz daneben?
Zuletzt geändert von Marcus Breuer am 5. August 2011 16:27, insgesamt 1-mal geändert.
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: Programm (NSIS) läuft nicht unter jedem Windows 7
Könnte es sein das auf dem Rechner, wo es nicht geht, die Datenbankdatei nicht gefunden wird, defekt ist oder einfach leer ist?
Einfach nochmal die Datenbankdatei von Hand in das richtige Verzeichnis kopieren und noch mal probieren!
Einfach nochmal die Datenbankdatei von Hand in das richtige Verzeichnis kopieren und noch mal probieren!