Hallo
Ich hab ein Programm geschrieben das automatisch das jeweilige verzeichnis mit winzip packt. Um Winzip zu benutzen hab ich mit :
[autoit]$hPluginDll = PluginOpen("C:\Programme\AutoIt3\Eingefügte_Funktionen\Au3Zip\bin\Au3Zipc.dll") ; Adresse der externe Programmbibliothek WinZip-Plugin dll
[/autoit]
ein winzip Plugin eingefügt, lief auch alles wunderbar, das Problem ist nur wenn ich die exe(mein ausführbares Programm) mit auf einen anderen rechner nehme, ist die ddl datei nicht da. kann ich die ihrgendwie ins programm(die .exe) integrieren?
Hier das ganze programm:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.2.10.0
Author: FrankWilmes
Script Function:
Template AutoIt script.
die WinZip Funktion dieses Skriptes wird über eine externe Benutzer Funktion
erreicht die kein Teil der AutoIt Standardbiblioteken ist
Ein Downloadlink und eine Anleitung findet man hier:
http://www.autoitscript.com/forum/index.ph…&hl=unzip+files
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <_ZipPlugin.au3> ;Include für WinZip Funktionen
#include <GUIConstants.au3>
;Bitte warten Fenster wenn Datei gepackt wird
$Form1 = GUICreate("Bitte warten", 350, 55, -1, -1)
$Label1 = GUICtrlCreateLabel("Bitte warten, Dateien werden gepackt", 40, 16, 263, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$box = MsgBox (1,"MakePublic","MakePublic wird gestartet")
If $box = 2 Then Exit ;cancel oder x gedrückt
$Pfad = @ScriptDir
FileDelete ($Pfad & "\bin\release\" & "*vshost*")
;;;;;;;; Release Ordner anlegen ;;;;;;;;;;;;
$PfadReleasealt = ($Pfad & "\bin\Release")
$box = MsgBox ( 3, "Releas", "Sollen die Programmdateien veröffentlicht werden?"); Abfrage (Ja Nein Abbrechen) ob Releaseordner angelegt werden soll
If $box = 2 Then Exit ;cancel oder x gedrückt
If $box =6 then Release($PfadReleasealt) ; Ja gedrückt Release Ordner wird angelegt
;;;;;; Zip-Datei erstellen ;;;;;;;;;;;;;
$box = MsgBox ( 1, "Zip", "Sollen die Source Dateien gepackt werden?"); Abfrage (Ja Nein Abbrechen) ob Source Dateien werden soll
If $box =2 then exit ;cancel oder x gedrückt
$searchexe = FileFindFirstFile($PfadReleasealt & "\*.exe") ;Suche Exe Datei im Realeae Ordner
If $searchexe = -1 Then MsgBox(0, "Error", "keine exe gefunden")
if $searchexe =1 then
$exe = FileFindNextFile($searchexe) ;Gibt den Namen der 1. gefundenen exe-Dateien zurück
;$exeb = FileFindNextFile($searchexe) ;Gibt den Namen der 2. gefundenen exe-Dateien zurück
endif
FileClose($searchexe)
;If $exea <> "Update.exe" Then $exe = $exea
;If $exeb <>"Update.exe" Then $exe = $exeb
$Version = FileGetVersion ($PfadReleasealt & "\" &$exe) ;Version der EXE
$exeSplit = Stringsplit($exe, ".exe",1); Trennt das .exe von der exe Datei
$zipdateiname = ($exeSplit[1] & "_" & $Version) ;Name der Zip-Datei wird bestimmt
; Plugin für WinZip öffnen.
$hPluginDll = PluginOpen("C:\Programme\AutoIt3\Eingefügte_Funktionen\Au3Zip\bin\Au3Zipc.dll") ; Adresse der externe Programmbibliothek WinZip-Plugin dll
$Zipdatei = InputBox ( "Datei speichern unter:", "Bitte geben sie den Dateinamen an", "c:\public\source\" & $zipdateiname& ".zip", "", 350,125)
If @error = 1 then exit ; Cancel gedrückt
$ZipPfad = Stringsplit($Zipdatei,$zipdateiname& ".zip",1) ; Trennt zipdateiname.zib vom eingelesenen Pfad, wird benötigt um einen variablen Pfad anzulegen
DirCreate ($ZipPfad[1])
If FileExists ( $Zipdatei) = 1 then ;Überprüfung ob es die Zip Datei schon gibt
$box = MsgBox (1,"Zip-Datei",$zipdateiname & ".zip existiert bereits"& @CRLF & "Soll diese gelöscht und neu angelegt werden?")
If $box = 1 Then
FileDelete($Zipdatei)
Zip ($Pfad ,$Zipdatei)
EndIf
ElseIf $box = 2 Then ;cancel oder x gedrückt
Exit ;Datei wird nicht gezippt wenn abbrechen oder x gedrückt wurde
Else
;DirCreate("c:\public\source")
Zip ($pfad ,$zipdatei)
EndIf
; PlugIn schließen.
PluginClose($hPluginDll)
MsgBox(0, "Zip-Datei", "Zip-Datei wurde erstellt Programm wird beendet" )
func Zip ($Pfad ,$Zipdatei) ; Funktion zum erstellen des ZipDateien
$hArchive = _ZipCreate($Zipdatei) ;Anlegen des Zip Archives
MsgBox (0,"Zip-Datei erstellen","Zip- Datei wird erstellt,"& @CRLF & "dies kann je nach größe der Datei etwas dauern")
GUISetState(@SW_SHOW)
GUISetCursor(15,1)
_ZipAddDir($hArchive,$pfad) ;Einfügen der Daten ins Archive
;_ZipDeleteFile($hArchive,"Makepublic.exe")
GUISetCursor(2,1)
GUISetState(@SW_HIDE)
_ZipClose($hArchive) ;Zip Archive schließen
EndFunc
Func Release($PfadReleasealt ) ; Funktion zum erstellen des Releasordners
$PfadReleaseneu = InputBox ( "Releas:", "Bitte geben sie Programmordner an", "c:\public\Programme\" , "", 350,125)
If @error = 1 then exit ; Cancel gedrückt
If FileExists ( $PfadReleaseneu ) = 1 then
$box = MsgBox (1,"Release","Programmordner existiert bereits"& @CRLF & "Soll dieser gelöscht und neu angelegt werden?")
If $box = 1 Then
DirRemove($PfadReleaseneu,1)
DirCopy ( $PfadReleasealt, $PfadReleaseneu ,1 ) ;Inhalt Ordner Release wird kopiert
EndIf
If $box = 2 Then Exit ;Release abbrechen wenn abbrechen oder x gedrückt wird
Else
DirCopy ( $PfadReleasealt, $PfadReleaseneu ,1 ) ;Inhalt Ordner Release wird kopiert
EndIf
MsgBox(0, "", "Programmordner wurde angelegt")
EndFunc
Schönes Wochenende übrigens