Aktualizacie   zodpovězená otázka

VB.NET, Visual Studio

Dobry den, robim software, a potrebujem aby sa mi automaticky aktualizoval, viem ze sa tu toho nieco ohladom toho popisalo ale moj problem:

ak si dam aplikaciu nainstalovat pomocou Build - Publish tak spustena aplikacia reaguje na nove updaty. Ale ak si vytvorim z aplikacie instalacny balik pomocou Setup project a nasledne ju nainstalujem tak aplikacia na nove updaty nereaguje.

Kde robim chybu? myslim si zo to bude nejaky problem s tym Publish ale....

vdaka

cujan

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

Setup projekty automatické aktualizace neumí.

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

Hmm... myslel som si ze tam bude niekde problem, ale ako to vyriesit aby som si mohol vytvorit instalacku, ktora umozni instalovat (vzber umiestnenia atd.) a zaroven aby si to strazilo aj aktualizacie?

vdaka

cujan

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

Řešení přes Publish nevyhovuje?

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

Tak ak dokazem cez Publish vytvorit instalacku, ktorou si uzivatel vybere kam sa to ma nainstalovat atd. tak ano, len zatial som nato neprisiel ako sa to da nastavit.

resp. pojde to tak ze si urobim publish a ten potom nainstalujem napr. cez INNO setup?

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

No prave som skusil ten druhy postup, ale vlastne sa stalo to ze instalator INNO mi len spustil exe subor, ktory bol vytvoreny cez publish a nasledne sa mi aplikacia nainstalovala vlastne dvakrat:)

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

To ten Publish neumí. Proč má mít uživatel možnost říct, kam chce aplikaci nainstalovat? Poslední dobou vidím spíš tendence od tohoto modelu ustupovat.

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

Tak aj to je pravda, len viem si cez publish ja nastavit kam to ma instalovat? resp. viem nastavit aby to vytvorilo odkaz v starte a ikonu na ploche?

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

Kam to má instalovat nenastavíte. Opět - koho to zajímá? Pokud je to malá aplikace, je to jedno, pokud je velká, tak jistě máte nějaký pořádný nástroj pro tvorbu profesionálních instalací, to, co je ve VS, je provizorium. Automatické updaty si ale typicky aplikace řeší samy (a podle toho to taky vypadá).

Instalátor vytvořený přes Publish to instaluje kamsi do profilu uživatele.

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

Oki, vdaka za vycerpavajuce odpovede. A neviete ma aspon nakopnut nejakym smerom ako by sa dali riesit tie automaticke aktualiizacie?

vdaka

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

Napisat si svoj vlastny updater...

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

Dobra rada nad zlato ....

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

A co jako chcete jinak slyšet? Vzhledem k tomu, že každá aplikace si to řeší sama, tak asi nějaký společný způsob neexistuje.

Použijte Publish, anebo se dva týdny patlejte s něčím, co uživatelé stejně moc neocení.

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

Ved v poriadku, nechcem aby ste mi tu napisali updater, ale aspon nejaku radu typu ze ja to robim napr. tak a tak atd..... resp. co viem tak chalani to vacsinou robia takto.....

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

Proste spravit este jednu aplikaciu ktora sa spusti ak sa objavi update. Ukonci hlavnu aplikaciu alebo sa sama ukonci. Stiahne aktualizaciu prepise co potrebuje uzavrie sa a moze znova spustit hlavnu aplikaciu. Tak som to teda aspon ja riesil. Na google mas vela rieseni.

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

Vdaka, take daco som potreboval...

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

Já to dělám takhle :D

imports system.io

public sub aktualizace()
Try
if file.exist("http://tvujweb.cz/programverze2.exe") then
if msgbox("Nové aktualizace jsou k dispozici!Chcete je stáhnout?",,MsgBoxStyle.YesNo) = MsgBoxResult.Yes then
My.Computer.Network.DownloadFile("http://tvujweb.cz/programverze2.exe", application.startuppath + "/program.exe")
End if
End if
Catch ex As Exception
msgbox("Žádné aktualizace nejsou k dispozici!")
End Try
End Sub

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

To jako myslíte, že se vám podaří přepsat soubor běžící aplikace? A při jakékoliv vyjímce se zobrazí, že aktualizace nejsou k dispozici - nemám slov. No a nakonec zjišťování verze podle názvu souboru což už ani není vtipné.

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

Dělám to přes externí aplikaci.

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

Já nejprve stáhnu XML s verzí z webu a ověřím, zda je webová verze novější než aktuální. Pokud ano, nabídnu stažení do uživatelem definované složky. Po stažení spustím pomocí druhé aktualizační aplikace instalátor novější verze v bezobslužném režimu, který zároveň provede migraci nastavení z předchozí verze aplikace. Z uživatelského hlediska celý proces zpočívá pouze ve vybrání příkazu Nápověda/Zkontrolovat aktualizace a potvrzení aktualizace. Celá aktualizace se tedy skládá ze 3 částí: Implementace aktualizace v aplikaci, instalátor v Inno Setupu s podporou bezobslužné instalace a aktualizační aplikace.

Můžete vyzkoušet jak to funguje v praxi v mém softwaru TorrentControl, aktualizace pro něj vydávám docela často.

http://ondrej.aspone.cz/torrentcontrol/

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