Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   MovieOrganizer (https://www.delphipraxis.net/7929-movieorganizer.html)

MathiasSimmack 28. Aug 2003 20:38

Re: MovieOrganizer
 
Hi Chakotay.

Zitat:

Zitat von Chakotay1308
PS: :duck: vor Matthias.

Was heißt das? :wink:
  • Benutze mal bitte noch !define MUI_COMPONENTSPAGE_SMALLDESC in deinem NSIS-Skript, das sieht echt besser aus. Dann zeigt er nämlich die Beschreibungen unter den Komponenten an (s. auch mein letztes Tutorial-Hotfix :wink:)
  • Auch NSIS kann prüfen, ob Dateien vorhanden sind. Ich habe die Installation spaßeshalber mal als Benutzer gestartet. Dadurch konnten -logisch!- die Dateien nicht kopiert werden, aber die Verknüpfungen im Startmenü waren trotzdem da. Unschön. "Ausführen als -> Admin" ging natürlich problemlos.
  • Es soll Rechner geben, speziell mit NT-Systemen, an denen mehrere Leute arbeiten. Benutzer A will seine Filme mit deinem Programm verwalten und wundert sich beim Start über die merkwürdigen Einträge ... da dämmert ihm: Hey, das hat der Depp von der Nachtschicht eingetragen. Will sagen: den Speicherort der Datenbank überdenken. Das vermeidet auch die unschönen Fehler, wenn man das Programm nur mit Benutzerrechten ausführt:

    Programmstart -> Fehler, weil Datenbank nicht existiert
    Film hinzufügen -> Fehler, weil das nicht geht
  • Das 4meg-Setup würde ich verschwinden lassen. Du kannst, wenn du´s clever anstellst, auch mit NSIS prüfen, ob XML vorhanden ist. Wenn nicht, dann zeigst du eine Meldung an oder rufst den Browser mit dem Microsoft-Link auf und beendest das Setup.
Den Quellcode gucke ich mir dann in der nächsten Version an. :)

Grüße.

CalganX 28. Aug 2003 20:48

Re: MovieOrganizer
 
Zitat:

Benutze mal bitte noch !define MUI_COMPONENTSPAGE_SMALLDESC in deinem NSIS-Skript, das sieht echt besser aus. Dann zeigt er nämlich die Beschreibungen unter den Komponenten an (s. auch mein letztes Tutorial-Hotfix :wink:)
Okay, mache ich

Zitat:

Auch NSIS kann prüfen, ob Dateien vorhanden sind. Ich habe die Installation spaßeshalber mal als Benutzer gestartet. Dadurch konnten -logisch!- die Dateien nicht kopiert werden, aber die Verknüpfungen im Startmenü waren trotzdem da. Unschön. "Ausführen als -> Admin" ging natürlich problemlos.
Verstehe leider den Zusammenhang nicht ganz... :(
Wie kann ich NSIS denn dazu überreden mit den Benutzerrechten richtig umzugehen? Bzw. wo liegt da das Problem?

Zitat:

Es soll Rechner geben, speziell mit NT-Systemen, an denen mehrere Leute arbeiten. Benutzer A will seine Filme mit deinem Programm verwalten und wundert sich beim Start über die merkwürdigen Einträge ... da dämmert ihm: Hey, das hat der Depp von der Nachtschicht eingetragen. Will sagen: den Speicherort der Datenbank überdenken. Das vermeidet auch die unschönen Fehler, wenn man das Programm nur mit Benutzerrechten ausführt:

Programmstart -> Fehler, weil Datenbank nicht existiert
Film hinzufügen -> Fehler, weil das nicht geht
Okay. Wird gemacht.

Zitat:

Das 4meg-Setup würde ich verschwinden lassen. Du kannst, wenn du´s clever anstellst, auch mit NSIS prüfen, ob XML vorhanden ist. Wenn nicht, dann zeigst du eine Meldung an oder rufst den Browser mit dem Microsoft-Link auf und beendest das Setup.[/list]
Okay. Wäre eine Idee. Das alte bleibt aber auf dem Server und wird bald überschrieben. Derzeit ist meine Website noch nicht online (keine Zeit das neuhochzuladen, nach dem Umzug *duck*).

Zitat:

Den Quellcode gucke ich mir dann in der nächsten Version an. :)
Okay...

Chris

Luckie 28. Aug 2003 20:54

Re: MovieOrganizer
 
@Chris: Das Setup soll nicht mit dem Benutzernamen "umgehen", sondern mit den Rechten des Benutzers. Wenn es feststellt, dass es kein Admin ist, muß es die Installation mit einer entsprechenden Meldung abbrechen, sonst passiert nämlich das, was Mathias beschrieben hat: Die Dateien werden nicht kopiert, weil die Rechte fehle, aber die Starmenüeinträge sind da.

CalganX 28. Aug 2003 21:04

Re: MovieOrganizer
 
Da steht auch "Benutzerrechte"... ;)

Chris

MathiasSimmack 28. Aug 2003 21:05

Re: MovieOrganizer
 
NSIS kann auch die Benutzerrechte prüfen
Code:
UserInfo::GetAccountType
Pop $0
StrCmp $0 "Admin" +2

  MessageBox MB_OK "Admin-Rechte erforderlich!"
  Abort

WeiterImText:
aber ich meinte es eher so, dass du prüfst, ob die kopierte Datei auch wirklich vorhanden ist und abhängig davon den Link erzeugst:
Code:
// Datei wird mit Leerstring verglichen
// wenn Vergleich positiv, dann wird +3 wirksam
// das ist ein relativer Sprung und übergeht
// die beiden Zeilen mit "CreateDirectory" und
// "CreateShortcut"

IfFileExists "$INSTDIR\cleanup.exe" "" +3
  CreateDirectory "$SMPROGRAMS\${NAME}"
  CreateShortcut "$SMPROGRAMS\${NAME}\${NAME}.lnk" \
    "$INSTDIR\cleanup.exe"

// hier würde es dann weitergehen, wenn die
// Datei nicht vorhanden ist
WeiterGehts:
Zweckmäßig ist´s natürlich schon, wenn die User-Rechte abgefragt und das Setup ggf. beendet wird ... Merkt man eigentlich, dass ich gerade ´ne Doku zu NSIS schreibe? :mrgreen: 35 Seiten habe ich schon. Davon auch ein paar mit solchen Spielereien, und wie man System-DLLs aufrufen kann.

CalganX 28. Aug 2003 21:13

Re: MovieOrganizer
 
Cool... :thuimb: Die werde ich mir auf jedenfall ansehen!

Okay. Werde das mal einbauen...

Chris

MathiasSimmack 29. Aug 2003 11:02

Re: MovieOrganizer
 
Noch ´n kleines Geschenk für dein Setup, Chakotay. :)

Zitat:

Zitat von xml-test.nsi
Code:
!define MSXML4 "CLSID\{88D969C0-F192-11D4-A65F-0040963251E5}\InProcServer32"

Name "MS XML-Test"
OutFile "xml-test.exe"

Section ""
SectionEnd


Function .onInit

         ReadRegStr $R0 HKCR "${MSXML4}" ""
         StrCmp $R0 "" +2
         IfFileExists $R0 Done

                MessageBox MB_YESNO|MB_ICONQUESTION \
                "Diese Anwendung benötigt Microsoft XML 4.$\n$\n\
                Klicken Sie Ja, um zur Microsoft XML-Webseite zu gelangen,\
                oder klicken Sie Nein, um das Setup ohne die Installation\
                von MS XML 4 zu beenden.$\n$\n\
                MS XML 4 jetzt downloaden und installieren?" \
                IDNO +2

                ; bitte die URL selbst eintragen :o)
                ExecShell "open" "http://www.microsoft.com/..." \
                "" SW_SHOWNORMAL

                Abort

         Done:
                MessageBox MB_OK "$R0"

FunctionEnd

Die Idee ist die gleiche wie die Delphi-Lösung. Das Setup prüft, ob der Reg-Schlüssel und die Datei existieren, dann geht´s weiter. Ansonsten siehst du die Meldung und kannst ggf. via Browser zu Microsoft wechseln.

Ach ja, ich stehe auf solche Spielereien. :)

CalganX 29. Aug 2003 15:42

Re: MovieOrganizer
 
Hi Matthias,
danke. Werde das einbauen.

Chris

CalganX 5. Sep 2003 23:19

Re: MovieOrganizer
 
Hi,
jetzt ist auch schon Version 1.6 online. :)
Ist nicht großartig viel verändert worden. Die Vorschläge, die hier geäußert wurden, habe ich noch nicht übernommen, aber das werde ich noch... ;)

ChangeLog:
  • Farbige Hervorhebung von verliehenen Filmen
  • Verbesserung eines Bugs
  • Verbessertes Grouping
  • Bugfixes und Verbesserungen

Download: http://www.csd-software.net/download...er_setup16.exe
Projektwebsite: http://www.csd-software.net/projekte/movieorganizer.php

Hinweise: Das Programm und der Source sind jetzt unter der GPL 2.0.
Das Setup von 1.5 ist weiterhin online.
SourceCode weiterhin enthalten (jetzt auch mit der NSIS-Datei).
Es wird immer noch MS XML 4.0 benötigt, dass hier gibt.

Viel Spaß damit,
Chris

MathiasSimmack 6. Sep 2003 07:46

Re: MovieOrganizer
 
Kleine Manöverkritik am Setup:
  • Der Ordner im Startmenü "CSD-Software" bleibt leer zurück.
  • Das gilt auch für den Ordner unter "Programme".
  • Die Datei "settings.ini" bleibt zurück.
  • Wenn man den Quellcode installiert und entpackt, wird der entsprechende Ordner natürlich auch nicht entfernt.
Für die Punkte 1 & 2 findest du in der NSIS-Doku eine passende Funktion (GetParent). Die INI-Datei kannst du so angeben, und den Quellcode-Ordner könntest du beim Deinstallieren mit "RMDir /r" entfernen lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:12 Uhr.
Seite 2 von 6     12 34     Letzte »    

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