Toon posts:

[VB] DLLs (deps) MEE compilen

Pagina: 1
Acties:

Verwijderd

Topicstarter
LET OP!!: Dit is NIET hetzelfde als een installer maken!!!

Ok mensen, ik heb een programma in VB gemaakt, en zoals jullie weten heeft VB dus allemaal DLL-etjes nodig om goed te kunnen draaien... Al die dependancies.. Nu WEET ik dat er programma's zijn (zoals VB Packer) die deze dependancies MEE compilen in je EXE file... Zodat je met EEN (single) file (EXE) kunt werken ...

Ik had dus ooit een proggie daarvoor... Dat dat deed.. Maar ben mijn URLS kwijt :'(
Heeft iemand nog een linkje ergens liggen?

Super thanxx

Verwijderd

je bedoeld fusion?

  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Met de Visual Studio Installer kan dit wel. Krijg je 1 bestand *.msi.

Wat niet kan is nog nooit gebeurd


Verwijderd

Nexopheus schreef op 29 september 2002 @ 11:38:
Met de Visual Studio Installer kan dit wel. Krijg je 1 bestand *.msi.
Daar heeft ie het dus niet over.

  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Nee?
Dat lijkt het me meer een taak voor een self-extracting zip file oid.

Wat niet kan is nog nooit gebeurd


Verwijderd

Hij bedoeld een programma waarme je de dependecies (zoals de VB runtime) static in de EXE kunt zetten, zodat je het programma direct kunt opstarten zonder installatie. (VB Packer kun je overigs wel met Google vinden)

Verwijderd

LET OP!!: Dit is NIET hetzelfde als een installer maken!!!
Nexopheus schreef op 29 september 2002 @ 11:38:
Met de Visual Studio Installer kan dit wel. Krijg je 1 bestand *.msi.
AARGH!

Ik zou dat eigenlijk ook wel willen weten! Lijkt me wel fijn om een keer wat van die dingen op andermans PC te kunnen laten draaien!

Verwijderd

Er zijn dus shareware programma's zoals Fusion en VB Packer voor, die redelijk duur zijn. Volgens mij zijn er geen freeware alternatieven.

Verwijderd

Topicstarter
Verwijderd schreef op 29 september 2002 @ 12:10:
[........] (VB Packer kun je overigs wel met Google vinden)
Ja weet ik, maar die bedoel ik niet, daarom noemde ik hem ook :D

weet iemand nog andere proggies? ik had er een, niet fusion, niet VB Packer, maar weet niet meer hoe ie heet :(

  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Verwijderd schreef op 29 september 2002 @ 12:10:
Hij bedoeld een programma waarme je de dependecies (zoals de VB runtime) static in de EXE kunt zetten, zodat je het programma direct kunt opstarten zonder installatie. (VB Packer kun je overigs wel met Google vinden)
AHA, My Error :7

Wat niet kan is nog nooit gebeurd


  • Lars The 18th
  • Registratie: November 1999
  • Niet online
Als je alle DLL en OCX in de zelfde map zet moet het wel lukken

[ Voor 183% gewijzigd door Lars The 18th op 09-05-2004 21:50 ]


Verwijderd

Topicstarter
ik weet dat het heel aardig werkt opzich
je file wordt dan wel groter.. maar in totaliteit niet echt veel groter dan dat je alle deps meelevert...

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
ik zou toch gaan voor de P&D van VB...B)

Verwijderd

Ik zou zo ver mogelijk wegblijven van dat P&D geval als mogelijk is. 't is de meest onvriendelijke installer waarmee ik ooit het mogen werken, 't is ook niet wat de topic starter bedoeld overigens..

  • johnwoo
  • Registratie: Oktober 1999
  • Nu online

johnwoo

3S-GTE

Verwijderd schreef op 29 september 2002 @ 12:13:
Er zijn dus shareware programma's zoals Fusion en VB Packer voor, die redelijk duur zijn. Volgens mij zijn er geen freeware alternatieven.
Volgens mij is zoiets in C best snel te maken in de vorm van een program loader... Een klein progje waaraan je je eigen .exe en de .dll's hangt, dat als je het runt eerst de DLL's neerplant (in de temp dir ofzo), ze eventueel regged, en vervolgens de executable runt. Als dat process is afgesloten unregt ie de DLL's weer en delete de files.

Is natuurlijk niet zo mooi als de binaries echt meecompilen, maar werkt wel en is lekker simpel :) Eventueel zou je je .exe en .dll's er zelfs nog gecompressed aan kunnen hangen 8)

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

Dat is dus precies hetzelfde als een installer (die silent is).

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Ik heb Fusion weleens geprobeerd en voor zover ik weet is het NIET hetzelfde als je DLL's static aan de exe compileren. Voor zover ik weet doet fusion iets wat lijkt op je zut uitpakken naar een temp-dir (zal wel naar ram zijn, maar even voor het idee) en dan de references in je prog dynamisch veranderen zodat ze naar de dll's en ocxjes in het ram/temp-dir verwijzen.

Het is op zich wel een idee, maar voor meer dan een klein ocxje aan je prog compilen zou ik het niet gebruiken. De runtimes zou ik er zeker niet inprakken, die zijn niet voor niets als shared dll's uitgevoerd, da's wel zo handig.

Als je per-se dependency-loos wilt zijn, ga dan in Delphi, ASM of C++ proggen (en zelfs MSVC++ doet het al niet meer zonder depencencies, als je ATL of MFC gebruikt dan).

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • johnwoo
  • Registratie: Oktober 1999
  • Nu online

johnwoo

3S-GTE

Verwijderd schreef op 30 september 2002 @ 15:43:
Dat is dus precies hetzelfde als een installer (die silent is).
Mwah een program loader vind ik niet hetzelfde als een installer...
Een installer pakt de files eenmalig uit bij het installeren (de naam zegt het al ;) ), waarna ze verder los gebruikt worden. Een program loader doet het telkens on-the-fly, zodat je maar een enkele file gebruikt.

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Fusion zet alle OCX/DLL bestanden in de exe ("fuseren"), en voorkomt ook versie problemen, weet ik me nog te herinneren. De files worden echter ook sterk gecompileert.
Eigenlijk zou er een programma zijn die alle relevante dingen alleen in de runtimes laat, maar ja, is beetje onmogelijk denk ik.

offtopic:
Ooit heb ik me bezig gehouden met een klein projectje na een idee op een VB Gaming forum, om bepaalde functies van VB te vervangen door ASM code. Dit lukte ook nog in beperkte mate :) De LCase$() en nog een of andere functie had ik vervangen door een ASM versie (gewoon de ASM code van VB gerecompiled, die je met "control compiler" onderschept)... en het was xxx% sneller)


Er was overigens nog zo'n programma "UPX packer" oid, die ook zo iets doet?

Verwijderd

UPX comprimeerd je EXE en als ie opstart wordt ie gedecomprimeerd in het geheugen.

Verwijderd

Hmmm, fusion (v3) Krijg ik niet van de site gedownload (?)

Met VB Packer Pro, gaat het wel, maar je kunt files niet hernoemen/verplaatsen :-(
(evaluatie versie)

En $200 voor dat programmatje dokken vind ik wel wat erg veel.

Nog iemand een suggestie?
Het is wel errug handig dat mee-compilen

Verwijderd

Ik zou persoonlijk toch voor een installer gaan. Die dingen zijn niet voor niets shared. Als er dan b.v. een update van de VB runtime komt zal jouw programma die ook gebruiken. Als iedereen ze in de exe bakt worden alle programma's ook zo groot (en dat comprimeren vertraagt alleen maar, kun je beter de installer eenmalig laten decomprimeren).

Verwijderd

vb kan geen 'stand-alone' versie compilen volgens mij . . alleen maar 'static' (linked dll)versies

Verwijderd

Topicstarter
zijn er soms nog andere oplossingen of zo?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Een andere programmertaal :p Delphi ofzo....

We adore chaos because we like to restore order - M.C. Escher


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
41.6C.6D.61.72 schreef op 30 september 2002 @ 17:23:
Fusion zet alle OCX/DLL bestanden in de exe ("fuseren"), en voorkomt ook versie problemen, weet ik me nog te herinneren. De files worden echter ook sterk gecompileert.
Eigenlijk zou er een programma zijn die alle relevante dingen alleen in de runtimes laat, maar ja, is beetje onmogelijk denk ik.
Best mogelijk. Visual Studio breidt je shell menu uit met een View Dependecies, die precies laat zien welke functies uit welke DLLs worden gebruikt. Die informatie kun je dan ook gebruiken om die functies te selecteren. Je moet natuurlijk wel alle relocation info uit die DLLs gebruiken om te checken welke functies indirect worden gebruikt, maar ook dat is redelijk publiek.

Aan de andere kant, als je EXEs op een ander medium dan CD wilt zetten moet je geen VB kiezen, dat blijft.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Ik heb een X een progja gehad waar mee je dll's mee kan bakken. Die deed hij dan uitpakken bij runtime in de system map of de app map. Ik wee tniet meer de naam, maar het was volgens mij wel freeware. Ik kan een kijke of ik het nog ergens vind als ik thuis ben...(op school, exel) :()

Verwijderd

Topicstarter
Ach ja... ik heb maar de VB-lib include functie van InnoSetup gebruikt :(
mocht iemand nog ideeen hebben: GRAAG!!

  • Marcelloz
  • Registratie: Juli 2002
  • Laatst online: 23-01 16:31

Marcelloz

IT dude with a beard

als het een dll is, in je COM+ services flikkeren en een export draaien. krijg je een nette .MSI file met alle dependable objecten + interfaces. DLL's van heine en ver moet je zelf meeslepen of idd een installer bouwen.

There are better things in life than alcohol, but alcohol makes up for not having them.

Pagina: 1