Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: VB2008 Express: ohjelmien toimivuus

Sivun loppuun

Tumettaja [03.01.2009 18:10:22]

#

Käytössäni on ilmainen Visual Basic 2008 Express Edition, jolla olen väsännyt erilaisia pieniä testiohjelmia. Päätin testatta ohjelmia toisella vanhemmalla koneellani (kummassakin koneessa on käytössä Windows Xp), ja harmikseni huomasin että vanhempi kone heittää erroria käynnistäessä mitä tahansa ohjelmaa. Onko siis niin, että en voi olettaa että ohjelmat toimisivat kaikilla koneilla
johon on asennettu windows? Vaatiiko siis VB2008 Expressillä tehtyjen ohjelmien suorittamiseen asentaa jotain windowsin paketteja tms.?

Blaze [03.01.2009 18:29:20]

#

Tarvii ainakin tarpeeks uuden .NET-frameworkin.

Tumettaja [03.01.2009 22:31:12]

#

Voiko tuota .NET-frameworkkia sitten "piilottaa" vb ohjelman (.exe tiedostoon) mukaan, jotta sitä voitaisiin käyttää ellei käyttäjällä ole jo asennettuna tarvittavaa versiota?

Antti Laaksonen [03.01.2009 22:44:17]

#

.NET-kirjastot vievät tilaa kymmeniä megatavuja, joten ei ole järkevää liittää niitä ohjelman mukaan.

Grez [03.01.2009 22:50:03]

#

Tottakai voit tehdä asennuspaketin joka asentaa .net -frameworkin.

Mutta esim. .Net framework 2.0 asennuspaketti on 22,4 megaa ja siihen päälle noi uudemmat päivitykset, joten jos välttämättä haluat sisällyttää ne asennukseen, niin kannattaa ehkä tehdä erillinen kevytasennus tarjolle niille joilla on jo ajan tasalle päivitetty käyttis.

Järkevin vaihtoehto mielestäni on tehdä asennuspaketti joka ei sisällä frameworkeja mutta tarkistaa onko ne asennettu, ja jos ei ole niin lataa ne MS:ltä ja asentaa (tietenkin ensin käyttäjältä kysyen).

Jos tarkoitus on levittää softaa käyttäjille joilla ei ole nettiyhteyttä esim. CD-levyllä, niin nuo .Net frameworkin asennuspaketit kannattaa tietenkin laittaa mukaan CD:lle.

Samahan se on melkein kaikissa kehitystyökaluissa. Jos on riittävän vanha MS:n C-kääntäjä, niin esim. msvcrt20.dll (Microsoft Visual C Runtime 2.0) on lähes kaikkien 32-bittisten Windowsien mukana, mutta NT 3.51 käyttäjille senkin joutuu asentamaan. Tosin taitaa C/C++ kääntäjissä yleensä saada käännettyä stand-alone exen, jolloin tietty exe on isompi.

Ja ainahan jos haluaa oikein pienen stand-alone .exe:n tehdä niin sen voi koodailla vaikka assemblyllä ja kutsua vain kirjastoja jotka varmasti on jokaisessa windowsissa (tyyliin kernel32 jne)

Sam76 [09.01.2009 08:52:06]

#

Itselläni oli hämmästys aikaslailla suuri kun tarkistin ohjelman kokoa 3.5 frameworkin liittämisen jälkeen. Koko oli muuttunut muutamasta megasta lähes 200:aan :/

Tämän varmastikin tiedät jo mutta näin saat frameworkin mukaan pakettiin:
Project -> properties -> Prerequisites -> ja sieltä valkkaamaan haluttuja komponenttaja.

rautamiekka [14.01.2009 21:03:57]

#

Muutamasta mudasta -> 200 ? O.o ei pieni. Etkö alkanut epäilemään että VBeellä alkoi menemää tuhottomasti aikaa compiloida ? Vai eikö se oikeasti vienyt yhtään kauempaa ? Jummi ...

Metabolix [14.01.2009 21:06:55]

#

rautamiekka kirjoitti:

Muutamasta mudasta -> 200 ? O.o ei pieni. Etkö alkanut epäilemään että VBeellä alkoi menemää tuhottomasti aikaa compiloida ? Vai eikö se oikeasti vienyt yhtään kauempaa ? Jummi ...

Mistähän sinä taas puhut? O_o Nyt oli kyse jaettavan paketin koosta, jolla ei ole mitään tekemistä kääntämisen tai varsinaisesti edes VB:n kanssa. Asia on rinnastettavissa enemmänkin zip-paketin luomiseen, ei sitäkään taida VB-kääntäjä kääntää, vai mitä? :D

Sam76 [14.01.2009 21:27:41]

#

Piti ihan tarkistaa, että onko sitä tullut puheltua ihan mitä sattuu.. :)

Projektiin oli liitettynä Windows Installer 3.1 ja .NET framework 3.5 ja näiden lisäksi muutama rivin minun kirjoittamaa koodia -> yhteiskoko n. 200 megaa.. Ovat siis aika isoja paketteja. En tosin ole aivan vakuuttunut, että olenko tehnyt kaiken järkevimmillä tavalla mutta näillä sain ohjelman toimimaan toisessa koneessa.

Olen vielä aloittelija ja en osaa ottaa kantaa tähän combiloimiseen( en tiedä mitä se tarkoittaa :)

ajv [14.01.2009 21:59:17]

#

Sam76 kirjoitti:

Olen vielä aloittelija ja en osaa ottaa kantaa tähän combiloimiseen( en tiedä mitä se tarkoittaa :)

Ihme finglish-väännöksestä huolimatta se tarkoittaa yleensä ohjelman kääntämistä ylemmän tason koodista alemman tason kieleksi tai suoraan binääriksi. .NET- kääntäjät kääntävät koodin vain tavukoodiksi ja itse framework kääntää sen lennossa binääriksi sitä mukaa kun sitä suoritetaan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta