Seite 7 von 37

Verfasst: 01.05.2007 21:22
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 02.05.2007 21:09
von Thorsten1867
Habe die aktuelle Version kurz getestet.

- für Programm starten wäre ein Auswahldialog mit den ausgewählten Dateien (*.exe) hilfreich
(PS: ich habe die Option zuerst unter Dateien anstatt unter Dialoge-Ende gesucht)

- vielleicht könnte man auch noch die Overhead-Größe etwas verringern
(anderer Installer 120KB - InstallForge: 380KB)

- Standardvorgabe für Betriebssystem (z.B. alle) und Unistaller wäre gut

- letzten Pfad merken für 'Datei bzw. Ordner hinzufügen' wäre eine gute Idee

- welche Informationen überträgt oder fragt das Programm im Internet ab?

Ich hoffe meine Vorschläge sind hilfreich.

Verfasst: 02.05.2007 22:50
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 04.05.2007 01:22
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 04.05.2007 16:13
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 04.05.2007 16:24
von a14xerus

Code: Alles auswählen

Procedure.l RegisterProgram(Schluessel$,name$,Version$,dir$,uninstaller$,help$)
  Protected ukey.l
  If Not RegCreateKey_(#HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Uninstall\"+Schluessel$,@ukey)
    RegSetValueEx_(ukey,"DisplayName",0,#REG_SZ,@name$,Len(name$)+1)
    RegSetValueEx_(ukey,"DisplayVersion",0,#REG_SZ,@Version$,Len(Version$)+1)
    RegSetValueEx_(ukey,"HelpLink",0,#REG_SZ,@help$,Len(help$)+1)
    RegSetValueEx_(ukey,"Publisher",0,#REG_SZ,@publisher$,Len(publisher$)+1)
    RegSetValueEx_(ukey,"UninstallString",0,#REG_SZ,@uninstaller$,Len(uninstaller$)+1)
    RegSetValueEx_(ukey,"UserDir",0,#REG_SZ,@dir$,Len(dir$)+1)
    RegCloseKey_(ukey)
    ProcedureReturn #True
  EndIf
EndProcedure
Guck dir mit RegEdit einfach an, welche Werte man noch nehmen kann (bei den anderen registrierten Programmen)

Verfasst: 04.05.2007 16:29
von Thorsten1867
Ich habe einen Code aus dem Forum etwas modifiziert (GUID):

Code: Alles auswählen

Procedure SetUninstall(keyname$, name$,  pub$, url$, email$, dicon$, uexe$)
  If GUID$ : Key$ = GUID$ : Else : Key$ = keyname$ : EndIf
  uKey=0 
  If RegCreateKey_(#HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Uninstall\"+Key$,@uKey)=0 
    RegSetValueEx_(uKey,"DisplayName",0,#REG_SZ,@name$,Len(name$)+1) 
    RegSetValueEx_(uKey,"DisplayIcon",0,#REG_SZ,@dicon$,Len(dicon$)+1) 
    RegSetValueEx_(uKey,"Publisher",0,#REG_SZ,@pub$,Len(pub$)+1) 
    RegSetValueEx_(uKey,"URLInfoAbout",0,#REG_SZ,@url$,Len(url$)+1) 
    RegSetValueEx_(uKey,"HelpLink",0,#REG_SZ,@url$,Len(url$)+1) 
    RegSetValueEx_(uKey,"Contact",0,#REG_SZ,@email$,Len(email$)+1) 
    RegSetValueEx_(uKey,"UninstallString",0,#REG_SZ,@uexe$,Len(uexe$)+1) 
    RegCloseKey_(uKey) 
  EndIf 
EndProcedure

SetUninstall(ProgLink$, ProgTitel$, Author$, url$, email$, InstallDir$+ProgExe$, InstallDir$+"uninstall.exe")
[Edit]a14xerus war wohl etwas schneller ;-)[\Edit]

Verfasst: 04.05.2007 19:23
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 05.05.2007 09:19
von X0r
(Entfernt, da nicht mehr aktuell)

Verfasst: 05.05.2007 13:58
von Thorsten1867
Gnozal hat geschrieben:If you use a path relative to a base directory, you need to set the base directory with SetCurrentDirectory_().

Code: Alles auswählen

Procedure Add2ZIP(Path.s, SrcPart.s, exclude.s)
  Protected dir.l, entry.s, copy.b, exts.b
  If Not Right(Path, 1) = "" : Path+"" : EndIf
  If Not Right(SrcPart, 1) = "" : SrcPart+"" : EndIf
  exts =  CountString(exclude,"|")
  dir = ExamineDirectory(#PB_Any, Path, "")
  If dir
    While NextDirectoryEntry(dir)
      entry = DirectoryEntryName(dir) 
      If entry = "." Or entry = ".."
        Continue
      ElseIf DirectoryEntryType(dir) = #PB_DirectoryEntry_File
        If exclude ;{ don't write files with extension
          copy = #True
          For i = 1 To exts
            If GetExtensionPart(entry) = StringField(exclude,i,"|")
              copy = #False
              Break
            EndIf
          Next
        EndIf ;}
        If copy
          PureZIP_Archive_Compress(RemoveString(Path+entry, SrcPart), #True)
          Debug "ZIP: "+RemoveString(Path+entry, SrcPart)+" ("+Str(FileSize(Path+entry))+")"
        EndIf
      Else
        Add2ZIP(Path+entry+"", SrcPart, exclude)
      EndIf
    Wend
    FinishDirectory(dir)
  EndIf
EndProcedure

nocopy$="ini|cfg|"

PackDatei$ = "c:\Program\PureZIP-Problem\TEST.ZIP"
SourceDir$ = "c:\Program\PureZIP-Problem\Source"
; /////////// SET BASE DIRECTORY ////////////////
SetCurrentDirectory_(@SourceDir$)
; ///////////////////////////////////////////////
If PureZIP_Archive_Create(PackDatei$, #APPEND_STATUS_CREATE)
  Add2ZIP(SourceDir$, SourceDir$, nocopy$)
  PureZIP_Archive_Close()
EndIf