spustitelný EXE soubor   zodpovězená otázka

VB.NET

Ahoj, potřebuji vytvořit jednoduchý formulář, je tak jednoduchý, že mi na jeho vytvoření stačili první čtyři lekce seriálu "začínáme". Teď potřebuji aby ten formulář šel spouštět i bez vývojového prostředí, ale nevím jak na to. Poradí mi někdo? děkuji Karel

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vstupte do složky Dokumenty a najděte složku Visual Studio 2005, v ní otevřete složku Projects. Zde jsou uloženy všechny projekty, které jste vytvořil ve vývojovém prostředí (pokud jste explicitně nezvolil jiné umístění). Najděte si tedy zde požadovaný projekt, v něm najděte složku Bin a tato složka obsahuje složky Debug a Release, kde najdete své EXE soubory. Stačí tedy obsah složky Release zkopírovat tam, kam potřebujete. Pokud je složka prázdná, ve vývojovém prostředí v otevřeném projektu v menu Build vyberte položku Rebuild All a soubory se vytvoří znovu.

Zkráceně tedy EXE soubory najdete tady:Dokumenty\Visual Studio 2005\Projects\<název projektu>\Bin\Release

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

V otevřeném projektu si zvolte možnost Release (naleznete ji implicitně nahoře, vpravo od ikonky pro spuštění) místo Debug.

A pak z menu Build zvolte Build solution. Tím se do adresáře ADRESÁŘ VAŠEHO PROJEKTU/Bin/Release vygenerují potřebné soubory, včetně EXE.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pro doplnění - pokud to poběží na PC bez .NET Framework, je třeba nainstalovat jej. není třeba celé vývojové prostředí, ale postačí jen instalačka.

Odkaz: http://www.microsoft.com/downloads/detai...

Stručný popis: Balíček Microsoft .NET Framework verze 2.0 Redistributable Package (x86) instaluje modul runtime rozhraní .NET Framework a přidružené soubory požadované ke spouštění aplikací vyvinutých pro rozhraní .NET Framework v2.0.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

V otevřeném projektu si zvolte možnost Release (naleznete ji implicitně nahoře, vpravo od ikonky pro spuštění) místo Debug.

A pak z menu Build zvolte Build solution. Tím se do adresáře ADRESÁŘ VAŠEHO PROJEKTU/Bin/Release vygenerují potřebné soubory, včetně EXE.

O vytvoření instalace jsem se pokusil dle návodu výše, ovšem pokdu jsme si projekt přenesl na jiný PC (kde není vývojové studio), nainstaloval jsem balíček .NET FW runtime (co to je je uvedeno výše) a nic - program se nechová úplně dobře. Tj. nejdou spustit nějaké věci, které klasicky běží.

mohlo by to být tím, že v kódu používám i deklaraci vlastních *.dll apod. Ku příkladu:

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer

V referencích přidána pak ještě: Imports Microsoft.VisualBasic.Compatibility

Ovšem vše to na tom druhým počítači je, takže Vámi pospaný způsob výše nevytváří instalace pro PC, kde není vývojové prostředí. Takže jdu pátrat po netu.

PSko: Tuto reakci jsem psal, kdyby někdo měl obdobný problém, tak aby nehledal chybu na jiném PC.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jak ale na následující situaci? Pokud bych si dal dir složky s projektem, dostanu něco takovéhoto (adresáře):

+ Visual Studio 2005

-+ Projects

--+ Project 1

--+ Project 2

--+ Project 3

--+ Project x

pokud vezmu Project 3, dostanu:

--+ Project 3

----+

----+ lorem.sln (soubor)

----+ Project 3 (adresar)

----+ lorem.suo (soubor)

Pokud otevru Project 3, dostanu:

----+ Project 3 (adresar)

-----+ *.resx soubory

-----+ lorem.sln

-----+ lorem.vbproj.user

-----+ lorem.vbproj

-----+ *.vb soubory

-----+ lorem.suo

-----+ app.config

-----+ My Project (adresar)

-----+ My Images (adresar)

-----+ My Project (adresar)

-----+ obj (adresar)

-----+ bin (adresar)-----+ Data files (adresar)

-----+ Project 3 (adresar)

Ve složce "Data files (adresar)" mám uloženy vlastní *.dat soubory, *.xml soubory apod. abych si ušetřil práci při otvírání v programu (tj. abych nepsal celou cestu, vytvořil jsem si funkci:)

Module modPath

    Public Function LocationDataFile(ByVal soubor As String) As String
        soubor = Application.StartupPath & "/../../Data files/" & soubor
        Return soubor
    End Function

End Module

Jenže jak v následující situaci lze vytvořit *.exe soubor, tj. abych tam měl umístěnou i složku Data files a zároveň, aby mi fungovala funkce v modulu.

PSko: Předpokládám, že tak lehce to nepůjde, proto dá se i zároveň nějak detekovat verze .NET zda je instalován (pokud ne, tak ji nainstalovat) a vytvořit zároveň i odisntalaci s možnostmi spustit program při startu a zobrazit ikonu na ploše? Co jsem našel na webu, tak InnoSetup vůbec nechápu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Všechny soubory, které EXE soubor požaduje, doporučuji přibalit přímo do projektu (pravým tlačítkem v seznamu souborů projektu a vybrat Add / Existing file). Na každý soubor, který takhle přidáte, jednou klikněte a nastavte mu vlastnost Copy To Output Directory na hodnotu Copy If Newer (to znamená, že se zkopíruje do složky s EXE souborem). Pak již budete mít v dané složce vše, co je třeba.

Co se týče PS, vydalo by to na celý článek, je to dost rozsáhlé téma. Pravděpodobně o tom v brzké době napíšeme.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bohužel tak nejdou dělat adresáře, proto to nechci vkládat do projektu. Představa, že v tom pak bude (s prominutím) bordel - to se mi opravdu nezná jako dobré řešení.

Takže asi zbývá si udělat *.bat, který mně vytvoří požadovanou strukturu a nakopíruje, co kam má.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Adresáře samozřejmě dělat jdou (Add / New Folder).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To ano, ale když dám Rebuild nebu publish, tak moje složka se mi vůbec ve složce Rebuild nevytvoří. A navíc jsme zjistil, že tímhle výše popsaným způsobem je problém spustit nějaké funkce (zejména, pokud byl projekt překonvertován z VB6 do VB.NET a chyby už v něm žádné nesjou a knihovna Microsoft.VisualBasic.Compatibility je v referencich pridana)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback