Visual Basic.NET - ¿Es un problema de permisos?

 
Vista:
sin imagen de perfil
Val: 33
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Carlos (21 intervenciones) el 14/01/2021 14:40:32
Hola a tod@s

Tengo desarrollado un programa que tiene una opción para que el usuario elija si la aplicación se ejecuta o no en el inicio de sesión. Para ello si un checkbox está en true, crea un acceso directo en el directorio de startup del usuario.

El procedimiento funciona bien, crea el acceso directo en la carpeta correcta. Sin embargo el programa no se inicia automáticamente. He comprobado que el acceso directo creado funciona bien.

Sospecho que pueda ser un problema de permisos pero no sé cómo solucionarlo. Mi aplicación está configurada para que se ejecute con la máxima prioridad.


Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por melqui (242 intervenciones) el 14/01/2021 18:07:19
te refieres cuando unicia windows? si es asi siga este ejemplo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
Try
     Dim regKey As Microsoft.Win32.RegistryKey
     regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
     regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
 
    If regKey IsNot Nothing Then
         regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
     Else
         MsgBox("error")
     End If
 
Catch ex As Exception
     MessageBox.Show(ex.Message)
End Try

fuente : https://social.msdn.microsoft.com/Forums/es-ES/64bcd14d-ea15-474a-a89e-ccd71ff0ffe9/iniciar-con-windows-mi-aplicacion-vb-2010?forum=vsexes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 33
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Carlos (21 intervenciones) el 14/01/2021 20:02:19
Gracias por la respuesta pero da un mensaje de error diciendo

---------------------------

---------------------------
Referencia a objeto no establecida como instancia de un objeto.
---------------------------
Aceptar
---------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Phil Rob (1554 intervenciones) el 15/01/2021 07:37:53
Hola,

Quizá debes ajustar el parámetro "Ejecutar como administrador" ?

Pero, no sé como lo hacer por programación.
Manualmente, lo hace como esta imagen (esta imagen es en francés, no tengo el sistema en español) :

Adm

Espéro tque este te ayudará ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 33
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Carlos (21 intervenciones) el 15/01/2021 19:34:45
He activado la opción de "Ejecutar como administrador" por probar y tampoco se ejecuta. Ahora estoy más confundido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por melqui (242 intervenciones) el 18/01/2021 16:11:23
nosotros tambien, quedadmos confundido cuando hay poca informacion.
postar tu codigo para verificar donde esta errado ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Phil Rob (1554 intervenciones) el 20/01/2021 16:15:45
Hola,

Porqué no CheckBox con MiPrpgrama como con Progama1 ?

No comprendo esta problema !

Para testar ...

Copiar el Link Programa1 en LinkTmp
Leer (en las propiedades) el texto del Link MiPrograma y lo escribir en LinkTmp
Ejecutar LinkTmp
Si funciona, quitar el Link MiPrograma
Cambiar el nombre LinkTmp en MiPrograma

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 33
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Carlos (21 intervenciones) el 21/01/2021 12:36:08
Programa1 es un software desarrollado por un tercero. mientras que MiPrpgrama lo estoy desarrollando yo. El problema es que no sé por qué MiPrpgrama no se ejecuta automáticamente al iniciar sesión Si voy al directorio startup y hago doble clic en MiPrpgrama, se ejecuta perfectamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por melqui (242 intervenciones) el 22/01/2021 10:47:58
amigo, por la imagen que estas pasando no es tu codigo que te solicite de tu proyecto, para saber de como estas errando tal como dice phil
[Lo siento ... :(] estas dificultado en poder ayudarte, mas

vea si esto si te ayuda solo traducirla
https://www.elguille.info/vb/utilidades/ExeEnCurrentVersionRun.htm

y buena suerte.
abs,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 33
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

¿Es un problema de permisos?

Publicado por Carlos (21 intervenciones) el 27/01/2021 22:27:31
Lo intenté hasta de 3 formas diferentes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Private Sub IniciarConWindows_CheckedChanged(sender As Object, e As EventArgs) Handles IniciarConWindows.CheckedChanged
        My.Settings.IniciarConSesion = Me.IniciarConWindows.Checked
        'Dim f As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup)
 
        'If Me.IniciarConWindows.Checked Then
        '    Label6.Text = FileIO.FileSystem.FileExists(f)
        '    If Not FileIO.FileSystem.FileExists(f) Then
        '        Dim ob = CreateObject("WScript.Shell")
        '        Dim vlink = ob.CreateShortcut(f & "\MiPrograma.lnk")
        '        vlink.targetpath = Application.StartupPath & "\MiPrograma.exe"
        '        vlink.description = "MiPrograma"
        '        vlink.save()
        '    End If
        'Else
        '    If FileIO.FileSystem.FileExists(f & "\MiPrograma.lnk") Then FileIO.FileSystem.DeleteFile(f & "\MiPrograma.lnk")
        'End If
        '--------2--------
        'Try
        '        Dim regKey As Microsoft.Win32.RegistryKey
        '        regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
        '        regKey.SetValue("conwindows", Application.ExecutablePath, Microsoft.Win32.RegistryValueKind.String)
 
        '        If regKey IsNot Nothing Then
        '            regKey.SetValue("JostickRata", Application.ExecutablePath, Microsoft.Win32.RegistryValueKind.String)
        '        Else
        '            MsgBox("error")
        '        End If
 
        '    Catch ex As Exception
        '        MessageBox.Show(ex.Message)
        '    End Try
        '--------3--------
        If Me.IniciarConWindows.Checked Then
            My.Computer.Registry.CurrentUser.CreateSubKey("MiPrograma")
            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", Application.ExecutablePath, Application.ExecutablePath)
        Else
            On Error Resume Next
            My.Computer.Registry.CurrentUser.DeleteSubKey(Application.ExecutablePath)
        End If
    End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar