20. juli 2005 - 21:08Der er
20 kommentarer og 1 løsning
VB&: Angående dll til afvikling af program
Jeg har lavet et projekt og vil distriburere det. Da jeg gerne vil kunne kører programmet uden at installere det er mit spørgs mål så om jeg bare kan kopierer de filer der er beskrevet i Dependency filen til system32 mappen, eller bliver jeg nød til at lavet et installationsprogram...?
Jeg vil gerne have at man ikke skal igennem en setup for at kunne kører programmet. Programmet skal kun kører engang, da det fixer en registerings fejl til et spil. så det er lidt fjollet at skulle installer det bare for én kørsel
Hvis fortolkeren findes i rette version, vil programmet starte og gøre opmærksom på, hvis der er kald til en DLL, der ikke findes. Jeg ved ikke med comcat, hvad den bruges til. Højst sandsynligt benytter dit program slet ikke "Ole'erne", de medtages default i alle projekter. Jeg bruger dem ikke og vælger dem altid fra. Det advarer 'setup-wizard' så om, men man kan jo fuldføre alligevel.
Men som nævnt prøv, - uden at kopiere filerne under 'uses'. Hvis du altså har en 'ren' installation, hvor VB-udviklings-miljøet ikke er installeret.
det eneste problem jeg kan se skulle lige være at jeg ikke er sikker på du må distribuere de filer som (Uses1,2,3,4,5,6) de tilhør Microsoft..
og så kan det, i nogle tilfælde være at filer er i brug og ikke kan overskrives hvis du kommer med en ny version..
men der plejer ikke at være nogle problemer med køre et vb-program, hvis bare computeren er opdateret med de nye service pack.. så har man filer som (Uses1,2,3,4,5,6)
men hvis du havede brugt en control eller activex som ikke er standard i windows.. så skulle du nok have den med + at registrere dem/den.
Ole-filerne kan downloades frit, så der er næppe restriktioner med at distribuere dem heller. comcat hører med i gruppen, kan jeg se. http://www.itemuk.com/supcomcat.html
jo.. jørn det jeg mener er at jeg ikke er sikker på at man selv må lave en install af ole-filerne.. men ja man kan ligge dem ved siden af så kan folk selv installer dem
blueice > men hvis der er en fejl i spillet, så er det jo ikke dig som skal fixe det.. der må da findes en path til det på deres hjemmeside.. ellers kan du sikkert komtakte dem, så de kan få rettet fejlen..
Ethvert seriøst program checker om en fil allerede er til stede på computeren og hvis det er tilfældet, så checker den om filen er en nyere version eller ej.
Jeg ville meget nødigt have, at nogen blot overskrev mine DLL-filer med en gammel version, med de problemer det kan give ved afvikling af andre programmer.
Ville det være en mulighed at omdøbe filerne til noget andet og derefter bruge disse navne i dine kald fra VB-programmet? Du kunne derefter køre et nyt program, der slettede disse DLL-filer, så computeren dermed var renset.
DLl'er er vist i reglen bagudkompatible, så selv om der i en XP-installation findes nyere versioner af 'ole-filerne', vil et VB6-program fungere med dem. Ved en installation vil brugeren blive spurgt, om en ældre version må overskrive en nyere, dette vil ikke ske, hvis et VB-program blot kopierer filerne.
Men jeg mener, at hele problemet er akademisk, disse filer vil altid være i en Windows-installation siden '95. Blueice har aldrig svaret på, om han har prøvet at afvikle exe-filen på en 'ren' installation. Fortolkeren i ver 6 er også tilstede, mens den for VB5 (og tidligere) ikke findes i win2k og XP, med mindre der tidligere er installeret et VB5-program.
> Joern, Ja jeg har prøve at afvikle programmet på en ren version, den siger at den ikke kan finde MSVBVM60.DLL
Har prøvet på en Win98 Maskine og en XP (service pack 1) der sagde den det sammme, jeg ville bare gerne kunne afvilke programmet UDEN at installerere det som før nævnt...
Jeg har set på VB-power wrap(b), men da jeg kun er fritids programør, vil jeg helst have noget freeware software... :D
Ja, når fortolkeren ikke findes, kan den jo kopieres til \system32-mappen. Det er vel ingen ulykke at den ligger dér. Men den må jo medfølge dit program, og det kan ikke starte, før den er på plads. Ellers er det ikke VB du skal bruge men et sprog, der afvikles uden fortolker.
Jeg tror du skal oprette et nyt spørgsmål om det med et let sprog. VB er uden tvivl det letteste. VB.net kan man kompilere i til ren maskinkode, men dels skal man jo råde over det, og det er ikke let at skrive i, - har jeg læst. Java fås i en GNU-version, såvidt jeg ved. Men prøv at spørge, jeg kender kun lidt til Delphi foruden VB, og dér kræves også fortolker til den jeg har - 6'eren.
Det er sin sag at skulle lære et nyt sprog blot for det, som er opgaven her i spørgsmålet :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.