aplikace bez instalace   zodpovězená otázka

Offtopic

Ahoj,

mám aplikaci ve VB.net (express), a potřeboval bych ji nějak vypublikovat nebo dostat na sdílený disk na síti a spouštět ji z jakéhokoli počítače pod jakýmkoli přístupem. Dále mi jde o to aby šla spouštět bez instalace. Poreďte mi prosím jak na to a jak ji mám vypublikovat. Podařilo se mi akorát ji spouštět na počítači kde jsem ji vytvořil.

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

Máme si pomáhat bez ohledu na úroveň znalostí, tak se pokusím. Podle mne to musí jít spustit, pokud vykopíruješ vše z addresáře ..\Release\*.* který je tam, kde se ukládají projekty. Pokud jsou potřeba ještě další soubory kromě *.exe. jsou tam. Asi by se ještě mělo před tím použít "Build". To je můj laický pohled. Víc nevím.

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

překopírovat složku release na síťový disk na síti mě napadlo, ale hlásí to chybu "Error executing program". Takže takhle to nepůjde.

ale moc dík

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

Zkuste aplikaci publikovat - v Solution Explorer poklepejte na My Projekt, v něm vyberte záložku Publish a nastavte vše podle potřeby..., při volbě "The application is available online only" se aplikace neinstaluje (přesto ji lze na lokálním počítači nalézt v Local Settings\Apps uživatele)

Aplikaci pak lze spouštět přes internet (ClickOnce)

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

Děkuji za radu,

nějak mi to pořád nejde. Pokusil jsem se udělat publish přímo na ten sí´tový disk ale nejde to spustit. V podstatě bych potřeboval aby šla spouštět kdekoliv třeba i z flešky ale aby se neinstalovala. Asi nevím jak správně nastavit parametry publish. když to vypublikuju na disk PC u kterého sedím tak to jde ale ten síťový disk nějak vadí.

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

Skoro bych si tipoval, že nemáte na cílovém stroji nainstalovaný .NET Framework. Jinak by Vám totiž pokud nemáte chybu v kódu program z releasu šel.

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

díky za pomoc

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

Co to dělá, když aplikace nejde spustit?

Mám zkušenost, že ze serveru se některé aplikace "mlčky" nespustí - žádné hlášení, chvíli to vypadá, že program startuje a dál nic. Dělají to aplikace, které mají dialogy pro práci se soubory a je jedno, zda je aplikace jen překopírovaná nebo publikovaná z VB .NET. Na příčinu jsem nepřišel. Řešení je aplikaci si zkopírovat ze serveru na lokální disk a pak jde bez problémů. Podobně, když nakopírujete složku Release na flash paměť či jiný disk, jde aplikace spustit.

Jestli je váš problém podobný, podívejte se na:

http://www.vbnet.cz/forum-tema--171-beh_...

Když na počítači chybí FrameWork, dostanete o tom při pokusu o spuštění hlášku.

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

Při spouštění .NET aplikací ze síťového disku je třeba brát v úvahu, že při výchozím nastavení vám bezpečnostní systém .NET Frameworku tuto aplikaci nedovolí spustit (program skončí vyjímkou ohledně zabezpečení), protože pochází z nedůvěryhodného zdroje což je v tomto případě síťový disk.

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

A co když neskončí výjimkou, ale nespustí se? Viz můj minulý příspěvek a další dle odkazu v něm. Nemá-li aplikace souborové dialogy, běží i ze serveru normálně. V právech ke složkám a souborům to nebude, aplikace dialogy vůbec nemusí použít, tedy k žádným souborům ani složkám nepřistupuje, stačí pouhé jejich přidání. Složka s aplikací a všechny soubory mohou mít veškerá práva i pro Everyone a nic to nezmění, stejně tak full trust nastavení pro aplikaci. Aplikace bez souborových dialogů běží s právy pouze pro user a bez full trust application.

Zajímalo by mě, jak problém vyřešit...

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

Co se týče oprávnění pro uživatelské rozhraní tak to nejsou jenom souborové dialogy, ale obecně jakákoliv "Top Level Windows". Předpokládám že máte aplikaci označenou silným názvem a Full Trust jste nastavil pro právě takto silně pojmenovanou aplikaci všude tam, kde se spouští (na pracovních stanicích) a ne jenom na serveru kde je umístěna což by naprosto postrádalo jakýkoliv smysl. Jestliže ano, můžete zkusit do aplikace přidat ošetřování vyjímek na úrovni aplikace (událost Application.ThreadException) a vyjímky logovat do souboru. Taky se můžete podívat do systémového protokolu (Start/Nastavení/Ovládací panely/Nástroje pro správu/Prohlížeč událostí) jestli tam není něco v souvislosti s vaší aplikací.

nahlásit spamnahlásit spam 0 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