Toon posts:

Selfextracting zip file voor windows maken in linu

Pagina: 1
Acties:

Verwijderd

Topicstarter
Zie topic ...
kan dit ?


Ik wil dus dat ik via een site (met php) iets uploaden en dat onder linux comprimeer en er een .exe zipfile van maak.

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:22

odysseus

Debian GNU/Linux Sid

Een selfextracting zipfile aanmaken kan met de switch -A. Ik vrees echter dat dat een ELF-executable oplevert en daar heeft een Windows-gebruiker weinig aan. De enige manier om het op een andere manier te doen lijkt me door iets als pkzip via dosemu of wine te draaien. Je moet dan wel zorgen dat de te zippen bestanden op een fat-partitie staan, anders kan hij er alsnog niet bij. Niet erg simpel, maar het zou wel moeten werken...

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Op dinsdag 26 maart 2002 15:34 schreef odysseus het volgende:
De enige manier om het op een andere manier te doen lijkt me door iets als pkzip via dosemu of wine te draaien.
En dat allemaal met php :?

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:22

odysseus

Debian GNU/Linux Sid

Op dinsdag 26 maart 2002 15:38 schreef mithalph het volgende:
En dat allemaal met php :?
Ik ben zelf meer een voorstander van CGI, maar volgens mij moet dat inderdaad ook met PHP kunnen. Je kunt daarmee ook gewoon shellcommando's aanroepen, dus als je iets als 'dosemu pkzip $input -o $output' (syntax verzin ik ter plekke) laat draaien en daarna een link maakt naar $output dan ben je toch klaar?

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Topicstarter
Hmmz het maken in php gaat wel lukken maar fat partitie en dos emu niet ;) vind de provider niet zo leuk denk ik :p

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Waarom niet een gewone .zip ? Windows-gebruikers hebben toch winzip, en ik vind het alleen aanbieden van .exes een beetje onbeleefd eigenlijk.

  • ajvdvegt
  • Registratie: Maart 2000
  • Laatst online: 15-08 12:40
Op dinsdag 26 maart 2002 18:19 schreef F13tsbel het volgende:
Hmmz het maken in php gaat wel lukken maar fat partitie en dos emu niet ;) vind de provider niet zo leuk denk ik :p
Een FAT partitie kan je toch op een loop-back gemount bestand zetten, waar je een FAT bestandssysteem in hebt gezet? Daarvoor moet je waarschijnlijk wel root zijn, en dat ben je niet, maar toch. 'T is maar een ideeetje....

.exe's voor download aanbieden vind ik trouwens ook niet echt 'done'. Als downloader weet je nooit zeker dat er geen virus in zit.

Nog een ideeetje trouwens: kan je geen net-installer maken? Dus 1 standaard executable die men download, en die dan zelf een .zip bestand oid gaat downlaoden en installeren?

I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum


Verwijderd

Topicstarter
De bedoeling is dat iedereen het kan .. dus niet eerst een installer downloaden enzo ..

Een exe file is dus de makkelijkste oplossing maar valt dus af :(

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
Dat hoeft niet. Het "omhullende" stuk code dat executable is en ervoor zorgt dat de zip file zichzelf kan uitpakken is ongetwijfeld altijd vrijwel hetzelfde. Wat je dus eigenlijk zou moeten doen is die header losweken van de zipfile zodat je er een andere zipfile (namelijk je eigen) voor in de plaats kunt proppen. Met een beetje mazzel zijn executable header en zip zodanig onafhankelijk van elkaar dat je ze gewoon aan elkaar kunt 'cat'ten voor verzending naar de eindgebruiker.

Afgezien van het bovenstaande ben ik trouwens ook niet echt een voorstander van het aanbieden van executable downloads. Ik pak een self-extracting archive NOOIT uit door erop te dubbelklikken, maar altijd via b.v. winzip of winrar.

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 08:09
Op woensdag 27 maart 2002 12:41 schreef jeroen het volgende:
Ik pak een self-extracting archive NOOIT uit door erop te dubbelklikken, maar altijd via b.v. winzip of winrar.
Ik pak ze ook nooit uit door erop te dubbelklikken, al was het in de eerste plaats al omdat EXE-files over het algemeen niet echt heel goed werken onder Linux :)

Als ik ze dan toch krijg pak ik ze uit onder VMWare en mocht het een kwaadwillend programma zijn ipv een archive is het op dat moment nog steeds niet erg.

Maar even terug on-topic:
Het idee om het executable gedeelte van de selfextracting Zip file eruit te halen is wel een goede. Het moet wel mogelijk zijn omdat het enige wat daarin staat het Zip-decodeer algoritme is. Hoe kan winzip anders die bestandne ook uitpakken, die slaat waarschijnlijk het eerste gedeelte van de Exe file over.

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:22

odysseus

Debian GNU/Linux Sid

De beste manier om dat aan te pakken lijkt me om als test twee bestanden te maken: je neemt een enkel (leeg) bestand en zipt dat zowel onder windows als GNU/Linux. Vervolgens kijk je welk stuk hetzelfde is (met behulp van een binary diff of een diff op de hexdump of zo). Dat moet dan het ingepakte (lege) bestand zijn. Alles ervóór moet dan van de header zijn, wat je los kunt maken met een simpel dd-commando. Dat zou kunnen werken, al is er vrees ik een probleem: sommige bestand-specifieke dingen zouden wel eens in de header opgeslagen kunnen worden, of in ieder geval ergens voor de eigenlijke data begint. Die zou je dan dus ook te pakken hebben, waardoor je zelfgemaakte zip niet meer zou kloppen.
Een tweede manier die ik verzin maar waarvan ik niet zeker weet of het kan is het gebruik van bijvoorbeeld Java of Perl. Deze talen hebben packages / classes voor zip. Zo heeft Java bijvoorbeeld java.util.zip.* met daarin een klasse ZipOutputStream. Die heeft weer een functie om te schrijven. Misschien zou je die kunnen gebruiken als je iets van Java weet, of anders van Perl.
Als je er echt niet uitkomt dat zou je altijd nog de documentatie van het zip-formaat kunnen zoeken en een programma schrijven dat die header zelf maakt...niet dat het simpel is, maar het werkt gegarandeerd >:).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • bkor
  • Registratie: November 2000
  • Niet online
Als het toch een SFX wordt, waarom moet het dan een selfextracting zip file zijn?

De linux rar versie kan SFX bestanden maken. Daarbij kan je kiezen wat voor een SFX het moet worden (Linux/DOS/Windows/...).
Pagina: 1