Re: Selbstausführendes ZIP-Archiv
Hi
es gibt grundsätzlich nur diese Möglichkeiten:
1. Du erstellst eine ZIP-Datei (mit der Endung *.zip), die bei einem Doppelklick vom assoziierten Programm (WinZIP, WinRAR oder dem Windows-eigenen Entpackprogramm) geöffnet wird. Hier gibt es m. W. nicht die Möglichkeit, nach dem Öffnen automatisch irgendetwas zu starten (dies wäre auch eine Funktion, die jeden Virenscanner sofort Alarm schlagen lassen würde).
2. Du erstellst eine EXE-Datei (mit der Endung *.exe), die prinzipell nach dem Doppelklicken alles mögliche machen kann. Hierzu gibt es sehr gute Tools, wie zum Beipsiel "NSIS" oder der deutlich schwächere Winzip-Self-Extractor (http://www.winzip.com/prodpagese.htm).
Am nähesten kommt Deinem Ansinnen folgendes: Du erstellst mit NSIS eine - ich nenne sie mal Container-EXE- , die einerseits Dein ZIP-Archiv enthält, und andererseits die Exe (wir nennen sie intern-EXE), die Du starten möchtest. Klickst Du nun auf die Container-Exe, wird zuerst die Intern-Exe gestartet und anschließend Das ZIP-Archiv irgendwo (wählbar oder fest vorgegeben) auf dem Computer abgelegt und bei Bedarf auch gleich geöffnet.
Variante: Man könnte nach dem Start der Container-Exe einen kleinen Dialog einbauen:
"Möchten Sie die Intern-Exe starten oder die ZIP-Datein entpacken?" und den Nutzer wählen lasen.
Am Ende ist das Festhalten an einem ZIP-Archiv auch gar nicht notwendig (mir fällt zumindest kein Grund ein, warum man dies tun sollte), denn mit NSIS kann man auch eine Container-Exe erstellen, die (komprimiert) sowohl die Intern-Exe als auch die Dateien Deines ZIP-Archives enthält und bei der man nach Doppelklick gefragt wird:
Intern Exe starten [( )ja ( )nein]
Dateien entpacken [( ) ja ( )nein] -> Zielort wählen [...]
[[GO!]]
Überdies ist bei NSIS die Kompression um WELTEN besser (falls das eine Rolle spielt), denn es unterstützt LZMA und SOLID compression.
All dies geht mit dem sehr mächtigen NSIS, das auch solche Feinheiten wie Vista/Windows7-UAC beherrscht, denn eine Exe kann man auf diesen Systemen nicht "einfach so" irgebdwohin kopieren und starten.
Bei Fragen hierzu einfach nochmal melden.
Gruß
HHFD