Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 4.902 pregleda

Najnovija ↓

Grupna instalacija 14.02.2007. u 11:00 · pre 239 meseci #1
Imam windows aplikaciju radjenu u Visual Studiu 2003 (C#). Posto se ta aplikacija koristi na 10-15 racunara, a nove verzije aplikacije se relativno cesto pojavljuju, moje pitanje je da li postoji mogucnost da se ta aplikacija svaki put preinstalira (update-uje) na samo jednom mestu, a da se te promene manifestuju na svim racunarima koji je koriste?
Meni su padale na pamet varijante da se aplikacija instalira na nekom serveru, pa da klijenti sa svojih racunara imaju shortcut na exe (onda se nova instalacija izvrsi samo na jendom mestu) - probala sam, medjutim, javlja CLR error.
Isto tako sam probala da instaliram na svim klijentima aplikaciju, a da na server postavim samo exe, pa da klijenti opet "vuku" samo exe, a svi resursi koje aplikacija koristi se nalaze lokalno (u ovom slucaju bi se menjao samo novi exe fajl) - javlja se ista greska.

To su varijante koje su mi padale na pamet... Mozda postoji neko pametnije resenje?

Pozdrav!
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Grupna instalacija 14.02.2007. u 11:39 · pre 239 meseci #3
Da rasparcas program na dll ove, a na klijentu da ti stoji samo exe koji proverava/snima/ucitava i koristi te dll ove sa servera ako ima nove verzije, a ako nema ucitava stare. Dosta komplikovanije resenje...za 10 - 15 racunara bas ti i ne vredi raditi.
Pozdrav!
Potpis
RTFM
Re: Grupna instalacija 14.02.2007. u 11:59 · pre 239 meseci #4
Nasla sam resenje (za sada) - ako se na serveru instalira aplikacija, da bi ona radila na klijentu potrebno je da se na klijentu konfigurise framework (All Code - Full Trust). Tada sve radi kako treba. To je javljao CLR Debugger.
Sada treba testirati ponasanje aplikacije kada je vise ljudi startuje odjednom.
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Grupna instalacija 14.02.2007. u 12:49 · pre 239 meseci #5
Toplo preporučujem sledeće rešenje:

Umesto startovanja glavne aplikacije, napraviš mali program koji:

1. Startuje se

2. Uporedi verzije aplikacije/dll-ova lokalno sa verzijama na mrežnom serveru

3. Ako ustanovi razlike, prevuče novije datateke lokalno

4. Startuje glavnu aplikaciju i zatvori se

Ovo programče napišeš jednom, i može ti poslužiti za bilo koju aplikaciju (u config datoteci zapišeš udaljeni folder i lokalni folder) pa čak i za dovlačenje novih verzija preko interneta.
Potpis
http://www.vesic.org | Blog: http://www.vesic.org/blog | Programming:
http://www.vesic.org/english/blog
Re: Grupna instalacija 14.02.2007. u 12:55 · pre 239 meseci #6
Mozes napraviti manji program koji ce proveriti da li na serveru postoji novija verzija nekog od fajlova i ako postoji update-ovati lokalne fajlove a zatim pokrenuti glavnu aplikaciju. To mi deluje najjednostavnije, rucno bi update-ovala samo taj startni program a to verovatno nikada ne bi ni morala (a moze i glavna aplikacija da proverava da li postoji nova verzija pomocne :)).


Edit: Dejan je bio brzi :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Grupna instalacija 14.02.2007. u 13:11 · pre 239 meseci #7
Super, dali ste mi zanimljive ideje :) Pozabavicu se time.

Hvala!
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Grupna instalacija 15.02.2007. u 11:56 · pre 239 meseci #8
U VS 2005 postoji opcija ClickOnce. Trebalo bi da sluzi bas za to sto si ti trazila. Negdje na brzinu sam prtobao ovo i nisam uspio da uradim. Mada valjalo bi se potruditi oko toga, jer djeluje dosta zanimljivo.

Pozdrav
Potpis
... Mu .... Mu ...
Re: Grupna instalacija 22.02.2007. u 01:58 · pre 239 meseci #9
Profesorice, profesorice...
Pa ako se i Vi latite programiranja ko će nas metodiku poučavati ???
8)
Vidite kako su ljudi puni razumevanja !
Re: Grupna instalacija 22.02.2007. u 20:40 · pre 239 meseci #10
Citat:
Sandra_G: Nasla sam resenje (za sada) - ako se na serveru instalira aplikacija, da bi ona radila na klijentu potrebno je da se na klijentu konfigurise framework (All Code - Full Trust). Tada sve radi kako treba. To je javljao CLR Debugger.
Sada treba testirati ponasanje aplikacije kada je vise ljudi startuje odjednom.

Nemoj raditi ovo, postoji razlog zasto startovanje aplikacija sa remote lokacije nije podeseno na Full Trust fabricki. Sa ovom tvojom konfiguracijom, neko bi mogao da krow web-embeeded .net aplikaciju pristupi lokalnim resursima masine i samim tim uradi sta hoce, ne sumnjam da vec postoje adware koji koristi ovaj 'exploit'. Ako koristis security policy, a i treba, bolje baziraj polisu na nekoj drugoj zoni, ne All Code. Npr, mozes da napravis svoj code group pod "LocalIntranet_Zone" i da je baziras na Publisher ili Strong name triggeru. Onda ce .NET runtime dati full trust tvojoj aplikaciji bez obzira na to odakle je kod dosao, ali nece kompromitovati postojeca ogranicenja. Ovo ujedno moze da ti bude i trajno resenje tvog problema.

Ono sto ti je Dejan Vesic preporucio sa loaderom je ok ideja za vs2003 aplikacije (a i za vs2005). Moj predlog ti je da npr pogledas Updater Application block. To je malo formalniji oblik Dejanove ideje i tu ti je vec odradjeno dosta koda.



Citat:
MrLimeni: U VS 2005 postoji opcija ClickOnce. Trebalo bi da sluzi bas za to sto si ti trazila. Negdje na brzinu sam prtobao ovo i nisam uspio da uradim. Mada valjalo bi se potruditi oko toga, jer djeluje dosta zanimljivo.

Clickonce je osmisljen sa tom namerom centralne distribucije programa. Postoje samo dva problema, treba ih uvek sinhronizovati sa promenama na bazi da ne bi doslo do kolizije verzija, i sto je jos grdje click once upgrade NE BRISE staru verziju programa sa hard diska, samo je deaktivira, ali ona i dalje ostaje, pa ako imas aplikaciju od 100mb, posle 20 revizija ode 2gb harda.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Grupna instalacija 23.02.2007. u 09:23 · pre 239 meseci #11
mmix, znam da dodeljivanje All Code, Full Trust nije pametno :) Trebalo bi to odraditi kako treba - ja sam samo probala da vidim kako to uopste funkcionise, i da li je u tome uopste bio problem. Probala sam i ClickOnce, i to radi bez ikakvih problema u VS 2005, ali mi ostaje problem aplikacija radjenih u VS 2003. Pogledacu ovo sto si mi preporucio, deluje zanimljivo. Hvala!
Potpis
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
Re: Grupna instalacija 23.02.2007. u 16:28 · pre 239 meseci #12
mmmm grupna instalacija :)))) zvuci sexy ovo "grupna"

Ako ti treba, imam ja klasu AutoUpdater koja se sastoji od webservisa i lokalnog klienta. Mogu da ti dam kompletan source sa sve .sln i testovima.

Fora je sledeca, startuje se klient aplikacija i poziva web service da pogleda da li treba update. Tu mozes da ugradis autentikaciju, version check i kakve zelis opcije, meni je recimo trebalo jer klienti koji ne placaju maintenance ne dobijaju upgrade :))).
Ako web service vrati True na IsNeedingUpdate on gasi klient aplikaciju i izvrsava AutoUpdater i salje mu par promenjivih, recimo username, password i adresu za web service.

Ta AutoUpdater aplikacija onda uzima MD5 svih fajlova u app folderu i poredi ih sa direktorijem na serveru (ASP.NET vraca MD5 kao dataset preko SOAP-a) i update-je fajlove po potrebi, odnosno dll koji su izmjenjeni.

Download se vrsi async, moze se zatvoriti, nema kocenja ui-a i fajlovi se nece update-ovati sve dok se ne skinu sve fajlovi. Tek onda se vrsi izmjena iz "fajlname.dll.new" u "fajlname.dll".
Ima opcija da se stari fajlovi obrisu kao i sacuvaju pod "old_file_name.dll.old".
Veoma cisto.

Moze da se konfigurise po potrebi itd, ima i malu helper aplikaciju, nije sto je moja :)) ali sve u svemu veoma korisna stvar. Ja sam gledao microsoft-ov Updater Application Blocks i nisam se bas usrecio, imas http://www.codeproject.com/vb/net/autoupdate.asp ali su mi nedostajale neke opcije pa sam odlucio da napisem sve iznova. Uzelo mi je dan-dva ali radi kao sat tako da ti mogu dati.

Cijena, sitnica :))))

Mislim da cu da postavim sve na sourceforge, samo trebam da dodam opciju da se update-je sa lan-a, ovako radi samo preko interneta.

Problem ostaje ovo sto je rekao mmix a to je database update, moraces to nekako sinhronizovati, to zavisi od tipa klient-databaze modela koji koristis. Veoma je tesko update-ovati sve kliente odjednom, cak i ako imas recimo neki backgroundworker koji provjerava svakih x minuta cak i ako je aplikacija otvorena, opet ces imati "compatibility issues".
Potpis
http://www.pro-transport.com - The most advanced trucking software on the market
Re: Grupna instalacija 28.02.2007. u 13:21 · pre 239 meseci #13
Kao sto ti mmix rece, nemoj da lutas mnogo dalje od Vesiceve preporuke.

Pozdrav
Srdjan
Re: Grupna instalacija 28.02.2007. u 13:44 · pre 239 meseci #14
Pretpostavljam da nemas AD na toj lokaciji? Tu bi update .msi aplikacija moglo da se smesti grupne polise...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme