[C#] Testare la presenza librerie .NET

venerdì 25 maggio 2007 - 20.17

fabb82 Profilo | Newbie

Salve, poichè vorrei evitare che dato un programma scritto in C#, esso non si avvii perchè sul pc mancano le librerie .NET per farlo funzionare, vi chiedo:

c'è un modo per verificare, a run-time, se le librerie non sono installate, e comunicarlo all'utente con un messaggio in modo che possa capire dov'è il problema?

Inoltre, se non è possibile farlo da codice, è possibile farlo da installer o da qualche tool disponibile? (gratuito)

Vi ringrazio per l'attenzione

19018 Profilo | Expert

Ciao.
Se usi uno qualsiasi dei framework (1.0,1.1 o 2) e non usi librerie esterne allora non ti interessa controllare la presenza o meno di singole librerie ma semplicemente la presenza o meno dell'intero framework.

Questo controllo lo dovrai fare con un eseguibile scritto in un linguaggio che non usa il framework, come il C ad esempio.

Esempio :

Hai scritto una applicazione in c# con il framework 2.0.
Devi scrivere un programmino in C, ad esempio, che controlla la presenza del framework in base ad alcune chiavi del registro. Se le chiavi sono presenti allora lancia il programma scritto in c# altrimenti mostra un messaggio di avviso.

Per controllare se la versione del framework che desideri è installata devi solo controllare la presenza di queste chiave del registro:

Per il .NET Framework, 2.0:
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v2.0

Se questa chiave è presente allora il framework 2.0 è installato e la tua applicazione può partire senza problemi. Se usi librerie esterne ti basta controllare la loro presenza nella stessa directory dell'eseguibile.

Di seguito le chiavi per le altre versioni :

Per il .NET Framework, 1.0:
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0

Per il .NET Framework 1.1:
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.1


ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5