none
Reiniciar aplicación vb.net

    Pregunta

  • Hola a todos:

    Preciso reiniciar la aplicación al haber hecho un cambio de base de datos. EL programa me lo cierra perfectamente con: Application.Restart() pero tengo el problema que no se abre la misma otra vez.

    He estado mirando google y la MSDN y no veo que le tenga que añadir al proceso algún código más, o  bien,  que no se si lo estoy llamando correctamente.

    El codigo que tengo en el proceso es el siguiente:

    Private Sub rdbConexSqlExpress_Click(sender As Object, e As EventArgs) Handles rdbConexSqlExpress.Click try

    'Anulamos las otras conexiones rdbConexCompact40.Enabled = False Label13.ForeColor = Color.Orange rdbConexAccess.Enabled = False Label2.ForeColor = Color.Orange 'Procedemos a desbloquear los controles. Me.DesbloqueoDeControles() DesbloqueColoresLabelsExportImort() If Configuracion.strNombreBaseDeDatos <> "PerseoSqlEx" Then Dim RecargarAplicación As DialogResult = MessageBox.Show("Al haber cambiado su base de datos, es necesario reiniciar el equipo." & vbCrLf & "¿Quiere reiniciarlo ahora?. Su nueva base de datos 'Perseo Sql Server Express'," & vbCrLf & "será la predeterminada para operar con el software." & vbCrLf & "Pulse el botón 'ACEPTAR' para reiniciar", "Exportación Base de Datos", MessageBoxButtons.YesNo, MessageBoxIcon.Information) If RecargarAplicación <> DialogResult.Yes Then Return Else Configuracion.strNombreBaseDeDatos = "PerseoSqlEx" LeerClavesCadenaConexionArchivoAppConfiguracion() If Configuracion.strNombreBaseDeDatos = "PerseoSqlEx" Then My.Settings.BaseDatosActual = "PerseoSqlEx" My.Settings.Save() End If Application.Restart() ''Process.Start("FinancialSystem.exe") End If Else Configuracion.strNombreBaseDeDatos = "PerseoSqlEx" LeerClavesCadenaConexionArchivoAppConfiguracion() If Configuracion.strNombreBaseDeDatos = "PerseoSqlEx" Then My.Settings.BaseDatosActual = "PerseoSqlEx" My.Settings.Save() End If lblBaseActiva.Text = "BASE DE DATOS ACTIVA: " & Configuracion.strNombreBaseDeDatos 'Solo permitimos actuar con la base de datos activada rdbExpImp_Access_SqlServExpress.Enabled = False Label16.ForeColor = Color.Orange rdbExpImp_Access_SqlCompact40.Enabled = False Label17.ForeColor = Color.Orange rdbExpImp_SqlCompact_Access.Enabled = False Label19.ForeColor = Color.Orange rdbExpImp_SqlCompact_SqlServer.Enabled = False Label20.ForeColor = Color.Orange End If

      Catch ex As Exception
                MessageBox.Show("Incidencia en actualización base de datos." & vbCrLf & ex.Message & vbCrLf &
                   "Acepte para continuar.", "FINANCIAL SYSTEM", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Finally
                'Desbloqueamos los controles del form
                Me.DesbloqueoDeControles()
            End Try

    End Sub

    Un cordial saludo.

    Gemma

    • Tipo cambiado gemma_campillo miércoles, 7 de diciembre de 2016 8:12 error
    miércoles, 7 de diciembre de 2016 7:14

Respuestas

  • Prueba haciendo ExitThread después del restart:

    Application.Restart()
    Application.ExitThread()

    También puede ocurrir que tengas un chequeo de que la aplicación no se esté ejecutando previamente al abrirla. Si es así ten en cuenta que puede que la instancia actual no se esté cerrando lo suficientemente rápido y se cierre al reiniciar porque ya se está ejecutando.


    Saludos, Javier J

    • Marcado como respuesta gemma_campillo miércoles, 7 de diciembre de 2016 8:12
    miércoles, 7 de diciembre de 2016 7:47

Todas las respuestas

  • Prueba haciendo ExitThread después del restart:

    Application.Restart()
    Application.ExitThread()

    También puede ocurrir que tengas un chequeo de que la aplicación no se esté ejecutando previamente al abrirla. Si es así ten en cuenta que puede que la instancia actual no se esté cerrando lo suficientemente rápido y se cierre al reiniciar porque ya se está ejecutando.


    Saludos, Javier J

    • Marcado como respuesta gemma_campillo miércoles, 7 de diciembre de 2016 8:12
    miércoles, 7 de diciembre de 2016 7:47
  • Hola Javier:

    No se abre la mala pécora esta. Voy a ir probando porque el cierre lo realiza rápido pero ya no abre, no se dispara la apertura de la misma.

    Bueno querido amigo,, gracias como siempre y voy a ver que más le puedo hacer.

    Un abrazo Javier.

    Gemma

    miércoles, 7 de diciembre de 2016 8:04
  • Hola Javier:

    No puedo marcar la respuesta como correcta. No me sale el botón para marcarla.

    Miraré a ver porque no me sale lo de marcar la respuesta.

    Un saludo.

    Gemma

    miércoles, 7 de diciembre de 2016 8:05