38 messaggi dal 21 luglio 2006
Avrei la necessità di verificare, con codice VB.net, la presenza di Microsoft SQL Server Compact Edition in un computer avente un qualsiasi sistema operativo (da Windows XP a Windows 10). Ho provato a scrivere il seguente codice:
Dim Cartella = ???
        If My.Computer.FileSystem.DirectoryExists(Cartella & "\Microsoft SQL Server Compact Edition\v3.5") Then ....

che potrebbe andar bene, ma come faccio ad individuare la cartella specifica per i vari sistemi operativi.
Grazie
Giorgio

Giorgio
11.097 messaggi dal 09 febbraio 2002
Contributi
Ciao Giorgio,
prova invece a verificare se esistono determinate chiavi nel registro di Windows.
Qui trovi le chiavi da controllare:
http://erikej.blogspot.it/2010/05/how-to-detect-if-x64-sql-compact-35-sp2.html

In alternativa puoi provare a caricare dinamicamente l'assembly System.Data.SqlServerCe e verificare se riesci a usarlo. Qui trovi l'esempio:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/3ab8ee09-0095-4b97-bd8a-fc4bfcae7a8d/how-to-check-if-sql-ce-is-installed-and-if-so-what-version?forum=csharpgeneral

ciao,
Moreno

Enjoy learning and just keep making
38 messaggi dal 21 luglio 2006
Ciao Moreno,
come faccio a verificare l'esistenza delle chiavi di registro con codice Vb.net?

nella seconda ipotesi è possibile avere il codice in VB.net?
Grazie
Giorgio

Giorgio
11.097 messaggi dal 09 febbraio 2002
Contributi
Ciao Giorgio,
qui trovi un esempio di come leggere le chiavi del registro con VB.NET.
https://docs.microsoft.com/it-it/dotnet/visual-basic/developing-apps/programming/computer-resources/how-to-read-a-value-from-a-registry-key

Se trovi esempi in C#, li puoi convertire in VB.NET usando questo tool.
http://converter.telerik.com/

ciao,
Moreno

Enjoy learning and just keep making
38 messaggi dal 21 luglio 2006
Grazie Moreno,
ho risolto con il seguente codice:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click


            If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5",
                                    "InstallDir", Nothing) Is Nothing Then
                TextBox1.Text = Nothing
                TextBox2.Text = Nothing
                TextBox5.Text = "Microsoft SQL Server Compact Edition 3.5 non è presente nel sistema"

            Else
                Dim Valore3 = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5",
                                               "InstallDir", Nothing)
                TextBox1.Text = Valore3

                Dim Versione3 = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5",
                                                   "Version", Nothing)
                TextBox2.Text = Versione3
                TextBox5.Text = "Microsoft SQL Server Compact Edition 3.5 è presente nel sistema"
            End If


            If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0",
                                    "InstallDir", Nothing) Is Nothing Then
                TextBox4.Text = Nothing
                TextBox3.Text = Nothing
                TextBox6.Text = "Microsoft SQL Server Compact Edition 4.0 non è presente nel sistema"

            Else
                Dim Valore4 = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0",
                                               "InstallDir", Nothing)
                TextBox4.Text = Valore4

                Dim Versione4 = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0",
                                                   "Version", Nothing)
                TextBox3.Text = Versione4

                TextBox6.Text = "Microsoft SQL Server Compact Edition 4.0 è presente nel sistema"
            End If

Come ti sembra, può andare?

Giorgio
11.097 messaggi dal 09 febbraio 2002
Contributi
Ottimo
Per sicurezza, prima di metterlo in produzione, verifica che funzioni bene sui vari sistemi operativi, con e senza SqlCE installato.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.