[VB.NET]Eigen applicatie update

Pagina: 1
Acties:

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Binnen mijn stagebedrijf is een applicatie gemaakt in vb.net. De applicatie is pas geleden op een binnen een netwerk geinstalleerd op meerdere werkplekken. Doordat de applicatie nog maar pas draait zijn er nog een aantal wijzigingen die ingevoerd moeten worden. Na een aantal belangrijke wijzigingen word er een update geinstalleerd.

Nu het probleem. Na elke update op een werkplek merken we dat er alleen de functionaliteiten geupdate zijn maar niet de formulieren zelf. Ik heb al binnen GOT gezocht en via google maar kon niets vinden wat mijn probleem omvat. We hebben ook al de applicatie cache (hoe ik het precies kan noemen weet ik niet) geleegd en verder alle tijdelijke bestanden weggegooid. Het resultaat hiervan is dat de applicatie formulieren van vb.net niet geupdate zijn maar dat alleen de code geupdate is.

Heeft iemand hier een oplossing voor?

Mocht mijn verhaal niet helemaal duidelijk zijn dan wil ik nog wel het een en ander toelichten.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Uit wat bestaat je applicatie, qua files?
Heb je een setup-project gemaakt binnen die solution om je applicatie makkelijker te kunnen deployen?

https://fgheysels.github.io/


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
De applicatie bestaat uit een .exe en een .dll bestand. Die bestanden worden met "de hand" gekopieerd. Hiermee bedoel ik dat de 2 bestanden telkens naar de hd van de client gekopieerd worden en dan geinstalleerd worden. Er is geen sprake van een setup project.

Op de pc van de ontwikkelaar die in debug-mode werkt, werkt het wel. De pc's van de clients (waar de installatie plaats vind) staan in release mode. En daar werkt het niet.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je bedoeld dat je dat project compiled in Release mode vooraleer je het deployed?
Ik zou eens een 'rebuild all' doen in release mode alvorens te deployen. Daarnaast zou ik ook een setup-project aanmaken, ipv alles met de hand te kopieren.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 voelt iets van een perfecte toepassingsmogelijkheid van http://msdn.microsoft.com...us/dnbda/html/updater.asp

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Die link die genoemd is erg handig en dat is precies wat uiteindelijk de bedoeling zal zijn. Maar het probleem is daarmee nog niet opgelost. We hebben het idee dat dat de formulier op 1 of andere manier gechached worden. We hebben ook al de formulier uit de prefetch gehaald maar ook dat mocht niet werken.

Weet iemand hoe je binnen in vb.net de cache van het programma leeg kunt halen? Zodat alleen de nieuwste versie erin staat?

[ Voor 18% gewijzigd door Arethusa op 12-01-2004 12:28 . Reden: toevoegen vraag ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Misschien post ik wat te vroeg maar is er niemand die enig idee heeft? We gaan met de eerder genoemde methoden aan de slag maar willen weten of we nog iets anders kunnen doen.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Heb je nu al eens een rebuild all gedaan in release mode vooraleer je gaatdeployen?

https://fgheysels.github.io/


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Er is naar aanleding van je idee een rebuild all gedaan maar dat mocht niet baten. Ook hebben we vanaf een pen drive de applicatie geplaatst op een pc. Op deze manier werkt het wel. We denken dat er binnen windows een cache van de applicatie bestanden word aangemaakt maar we kunnen er niet achterkomen waar dat gebeurd. Of dat binnen visual studio.net gebeurd of binnen windows.
Iemand een idee?

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Er wordt helemaal geen cache bijgehouden.
De enige cache die er is bij mijn weten, is de Global Assembly Cache. Maar voor zover ik zie is dit totaal niet relevant voor jouw probleem. In de GAC worden nl. shared assemblies geinstalleerd.
Misschien kopieer je de files wel naar een andere plek ofzo.

https://fgheysels.github.io/


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Het lijkt ons ook niet dat het aan de GAC ligt. Uiteraard kopieren we onze bestanden niet naar een andere plek ;).

Aangezien we nog niemand met dit probleem zijn tegengekomen op het internet en in GOT denken we zelf dat het een programmainstelling is visual studio.net is of een probleem binnenin de formulier zelf.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


Verwijderd

Misschien slaat dit de plank volledig mis maar ik werk al enige tijd met een .NET webapplicatie. Hierbij worden alle classes en codebehind pagina's in een dll gecompiled. Door de oude dll te vervangen wordt de functionaliteit van de classes en de codebehind pagina's vernieuwd. ECHTER de formulieren in de vorm van .aspx pagina's worden niet ververst. Deze moeten ook vervangen worden, aangezien deze niet in de ddl zit verwerkt.

Ik weet niet of jij gebruik maakt van een web applicatie of gewoon Windows forms. Indien je gebruik maakt van een webapp. dan zal bovenstaande de oplossing bieden. Indien je gebruik maakt van Windows forms ligt de oplossing misschien in de zelfde hoek maar ik heb daar geen ervaring mee dus ik weet dat niet.

Succes

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Verwijderd schreef op 14 januari 2004 @ 13:39:
Misschien slaat dit de plank volledig mis maar ik werk al enige tijd met een .NET webapplicatie. Hierbij worden alle classes en codebehind pagina's in een dll gecompiled. Door de oude dll te vervangen wordt de functionaliteit van de classes en de codebehind pagina's vernieuwd. ECHTER de formulieren in de vorm van .aspx pagina's worden niet ververst. Deze moeten ook vervangen worden, aangezien deze niet in de ddl zit verwerkt.

Ik weet niet of jij gebruik maakt van een web applicatie of gewoon Windows forms. Indien je gebruik maakt van een webapp. dan zal bovenstaande de oplossing bieden. Indien je gebruik maakt van Windows forms ligt de oplossing misschien in de zelfde hoek maar ik heb daar geen ervaring mee dus ik weet dat niet.

Succes
Er wordt dit geval gebruik gemaakt van Windows Forms in visual basic.net. We kopieren telkens de nieuwe bestanden (alle bestanden dus) en plakken deze handmatig over de oude heen. Het probleem zoals in 1 van mijn posts beschreven blijft echter bestaan.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 21-05 08:21
Ik zou als je een oplossing vind deze ook graag weten, kan altijd nog van pas komen.

Als je je programma op een nieuwe client installeerd, krijg je dan wel meteen de goed versie ?

The best thing about UDP jokes is that I don't care if you get them or not.


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Remc0 schreef op 14 januari 2004 @ 14:15:
Ik zou als je een oplossing vind deze ook graag weten, kan altijd nog van pas komen.

Als je je programma op een nieuwe client installeerd, krijg je dan wel meteen de goed versie ?
Ik ga dat zeker even testen en laat wel weten of het dan wel werkt.

[ Voor 44% gewijzigd door Arethusa op 14-01-2004 16:30 ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Na het testen de volgende bevinding:

De app werkt op een nieuwe client wel. 8)7 Ook logisch feitelijk omdat er geen andere versie op die client bestaat er dus geen versie conflict is.

Over het "installeren" kan ik nog het volgende toevoegen. De bestaande versie dus bv 1.0 word verwijderd uit de map en daarna wordt er de nieuwe versie bv 1.1 ingepast. Kennelijk worden niet alle bestanden verwijderd omdat de winforms nog de layout van versie 1.0 hebben.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


Verwijderd

maak je nieuwe folder aan myprogv1 myprogv1.1

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
De 'winforms' zitten in je exe

https://fgheysels.github.io/


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 21-05 08:21
En als je de .exe en .dll in een andere directory zet ?
En dan die .exe opstart ?

The best thing about UDP jokes is that I don't care if you get them or not.


Verwijderd

Onder welk platform draaien je clients? Voor zover ik weet houd Win2K en hoger een shadow tree bij met systeembestanden. Als het detecteerd dat een bestand overschreven is, zet hij de vorige weer terug (behalve bij een officiele update denk ik).

Het kan echter dat dit alleen gebeurt voor systeem bestanden (dll's in system32 etc). De directory staat onder C:\WINNT of C:\WINDOWS, maar ben de naam even kwijt.
/me kijkt in /usr maar kan hem niet vinden >:)

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Ik kon een lange tijd niet reageren maar ik kan nu wel wat resultaten en wat meer informatie geven.

- Er was een tip om de map waarin de oude versie staat een andere naam te geven dan de map waar de update in staat. Echter dit maakt geen verschil en de winforms bevatten nog de dezelfde opmaak als de 'oude' versie.

- Wat ik ook kwijt kan is dat het programma client side op Windows XP PRO draaien.


Heeft iemand nog een idee? Enkele andere tips die gegeven zijn moeten we nog onderzoeken en ik zal de resultaten daarvan posten.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 20-05 23:14
Is het niet zo dat die DLL gecached wordt in C:\WINDOWS\system32\dllcache ??

En moet je ook niet regsvr32 /u doen om de oude dll te "unregisteren" en vervolgens nogmaals regsvr32 om de nieuwe DLL te reggen?

Ik praat misschien onzin, maar misschien heb je er iets aan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je form gaat normaal niet in een DLL staan, en regsrv heeft er ook niets mee te maken in dit geval.

https://fgheysels.github.io/


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
In ons geval word die .dll niet geregistreerd. Ik heb nu zelf de applicatie in een directory staan. In deze map staan 2 bestanden:
- een .dll
- een .exe

Ik zou volgens de ontwikkelaar nu versie 1.2 moeten hebben. De formulieren geven 1.0 aan. Is het misschien noodzakelijk om naast deze 2 nog meer bestanden nodig hebben om de juiste versie te krijgen?

Nogmaals: op de pc van de ontwikkelaar is de versie wel 1.2 8)7

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


Verwijderd

Wordt de locatie van de dll misschien in het register opgeslagen en wordt de oude dll weer geladen?
Waarschijnlijk niet als hierboven al gezegd wordt dat de forms in de exe staan, maar je zou het register kunnen controleren.

PS. Je weet toch wel heel zeker dat je de juiste versie hebt gekopieerd?

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 27-05 15:08

Arethusa

Niet die server

Topicstarter
Verwijderd schreef op 20 januari 2004 @ 16:33:
Wordt de locatie van de dll misschien in het register opgeslagen en wordt de oude dll weer geladen?
Waarschijnlijk niet als hierboven al gezegd wordt dat de forms in de exe staan, maar je zou het register kunnen controleren.

PS. Je weet toch wel heel zeker dat je de juiste versie hebt gekopieerd?
Er word niets met het register gedaan. De .dll word niet ergens geregistereerd maar alleen vanuit de WinForms aangeroepen. En ja, ik heb de juiste versie gekopieerd ;)

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 21-05 08:21
Ja, ik weet het.
Late reactie.

Maar graag wil ik wel even weten of het is opgelost, en zo ja, hoe ?

Ik heb er nu ook last van met nt 4.0 clients die een .exe draaien vanaf een share met wat dll's.

Sommige clients starten evengoed de oude executable op, ook al bestaat deze niet meer.
Ik heb in het profiel van de gebruiker (application data\ nogwat) wel wat bestanden aangetroffen.
Het verwijderen van deze bestanden helpt niet.

Ook het verhogen van het versie-nummer wil niet overal helpen.

De .exe word nog een keer gecompileerd als de client hem opstart.
Echter moet de client bij een nieuw versie-nummer de .exe opnieuw compileren.
Schijnbaar gebeurd dit dus niet overal.

Ik heb al diverse dingen geprobeerd, zoals release/debug mode.
Versie-nummer wijzigen, maar niks mag helpen.

Ook op msdn/gotdotnet etc.... Is weinig te vinden.

Iemand nog een idee ?

The best thing about UDP jokes is that I don't care if you get them or not.

Pagina: 1