Buenas,
Estoy desde hace unos dias intentando pelearme con algo de lo mas sencillo, que es practicamente un webbrowser (geckoFX), simplifique el programa a practicamente nada para que sea mas facil preguntar mi ejemplo. El problema es que si lo compilo y ejecuto funciona. Pero si lo añado al registro de windows para que se inicie solo en mi usuario actual o que inicie con todos da igual en cual lo añada es cuando sale el problema.
El programa no tiene mucha cosa es realmente simple:
Imports Skybound.Gecko
Imports System
Imports System.Runtime.InteropServices
Imports Microsoft.VisualBasic
Public Class Form1
Sub New()
' Llamada necesaria para el diseñador.
InitializeComponent()
Xpcom.Initialize(Environment.CurrentDirectory + "\xulrunner")
Skybound.Gecko.GeckoPreferences.Default("nglayout.initialpaint.delay") = 0
Skybound.Gecko.GeckoPreferences.Default("network.http.pipelining") = True
Skybound.Gecko.GeckoPreferences.Default("network.http.pipelining.maxrequests") = 12
Skybound.Gecko.GeckoPreferences.Default("network.http.max-connections-per-server") = 17
Skybound.Gecko.GeckoPreferences.Default("network.http.max-persistent-connections-per-server") = 6
Skybound.Gecko.GeckoPreferences.Default("network.http.pipelining.ssl") = True
Skybound.Gecko.GeckoPreferences.Default("network.http.proxy.pipelining") = True
Skybound.Gecko.GeckoPreferences.Default("content.notify.backoffcount") = 5
Skybound.Gecko.GeckoPreferences.Default("plugin.expose_full_path") = True
Skybound.Gecko.GeckoPreferences.Default("ui.submenuDelay") = 0
Skybound.Gecko.GeckoPreferences.Default("Browser.sessionhistory.max_total_viewers") = 0
Skybound.Gecko.GeckoPreferences.Default("Browser.sessionhistory.max_entries") = 10
Skybound.Gecko.GeckoPreferences.Default("browser.cache.memory.capacity") = 6144
Skybound.Gecko.GeckoPreferences.Default("config.trim_on_minimize") = True
Skybound.Gecko.GeckoPreferences.Default("extensions.blocklist.enabled") = False
Skybound.Gecko.GeckoPreferences.Default("accessibility.typeaheadfind.enablesound") = False
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
gkFX.Navigate("www.google.es")
End Sub
End Class
y aqui mi otro modulo para el geckoFX:
Imports Skybound.Gecko
Public Class GeckoFX
Inherits GeckoWebBrowser
End Class
A parte de esto es un simple form con un webbrowser, y aqui el error siempre que intenta iniciar con windows:
CitarProblem Event Name: CLR20r3
Problem Signature 01: core.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 52a9c249
Problem Signature 04: core
Problem Signature 05: 1.0.0.0
Problem Signature 06: 52a9c249
Problem Signature 07: d
Problem Signature 08: c6
Problem Signature 09: System.InvalidOperationException
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Gracias a todos!
Ok, dices que es cuando sale el problema. Mi pregunta es: ¿Cuál problema? ¿No inicia? ¿Inicia y da error? ¿Te salta la ventana de que hubo un error y te pregunta si continúas? De ser así fíjate en los detalles del error.
El programa con windows ya iniciado funciona, pero cuando lo añado al registro de windows para que inicie con el llega a cargar todo el escritorio y cuando intenta iniciarlo me sale esto(los detalles del error en el post de arriba), intente un try catch para ver si conseguia algo mas de informacion pero no:
(http://imageshack.com/a/img43/1696/q4br.png)
Creo que el problema esta aqui ya que cuando lo intente depurar decia que no se encontro xpcom a pesar de que la ruta es correcta ya que si lo inicio manualmente si va:
InitializeComponent()
Xpcom.Initialize(Environment.CurrentDirectory + "\xulrunner")
Sí, es posible que sea eso. En vez del Environment.CurrentDirectory intenta con Application.StartUpPath y dinos si funciona de esta manera.
El environment te dará el directorio actual del sistema operativo no el directorio de la aplicación. El StartUpPath es para eso.
Saludos
Cita de: El Benjo en 12 Diciembre 2013, 20:00 PM
Sí, es posible que sea eso. En vez del Environment.CurrentDirectory intenta con Application.StartUpPath y dinos si funciona de esta manera.
El environment te dará el directorio actual del sistema operativo no el directorio de la aplicación. El StartUpPath es para eso.
Saludos
Si, era eso y funciono. Muchisimas gracias!
SUGERENCIA:
CitarImports Skybound.Gecko
Estás usando una librería totálmente obsoleta, segúramente estés utilizando el xul v1.9 de hace la tira de años, porque no tiene soprote para más xD, para eso yo preferiría embedir un IExplorer.
Utiliza las nuevas releases de
GeckoFX que son compatibles con xul v22.0 -> https://bitbucket.org/geckofx/geckofx-22.0
Saludos.
Cita de: EleKtro H@cker en 13 Diciembre 2013, 10:32 AM
SUGERENCIA:
Estás usando una librería totálmente obsoleta, segúramente estés utilizando el xul v1.9 de hace la tira de años, porque no tiene soprote para más xD, para eso yo preferiría embedir un IExplorer.
Utiliza las nuevas releases de GeckoFX que son compatibles con xul v22.0 -> https://bitbucket.org/geckofx/geckofx-22.0
Saludos.
Pense en ello, pero dije que igual para el simple uso que le dare quizas no me convenga cambiar. Se va mucho el consumo de memoria de uno a otro?
Cita de: Trane! en 13 Diciembre 2013, 13:17 PMPense en ello, pero dije que igual para el simple uso que le dare quizas no me convenga cambiar. Se va mucho el consumo de memoria de uno a otro?
Yo no sabría responderte a eso porque no lo he comprobado, pero de todas formas me parece una cuestión irrelevante, estamos hablando de una versión de hace 5 años, que no es poco, y vivimos en una etapa del avanze tecnológico donde no es necesario escatimar en el consumo de memoria (megabyte arriba, megabyte abajo...), se le debe dar preferencia a lo nuevo puesto que ello implica bugs corregidos y todo lo referente a la estabilidad/compatibilidad/seguridad... además ya te encargas un poco por ti mismo de limitar el uso de memoría usando las preferencias.
Si con esto te haces una idea para comparar: Un simple winforms con una página renderizada con geckofx 22.0 me ocupa alrededor 34 mb.
Es tu decisión y lo que hagas estará bien, yo solo te comento lo que opino, nada más.
Saludos!
Cita de: EleKtro H@cker en 13 Diciembre 2013, 13:43 PM
Yo no sabría responderte a eso porque no lo he comprobado, pero de todas formas me parece una cuestión irrelevante, estamos hablando de una versión de hace 5 años, que no es poco, y vivimos en una etapa del avanze tecnológico donde no es necesario escatimar en el consumo de memoria (megabyte arriba, megabyte abajo...), se le debe dar preferencia a lo nuevo puesto que ello implica bugs corregidos y todo lo referente a la estabilidad/compatibilidad/seguridad... además ya te encargas un poco por ti mismo de limitar el uso de memoría usando las preferencias.
Si con esto te haces una idea para comparar: Un simple winforms con una página renderizada con geckofx 22.0 me ocupa alrededor 34 mb.
Es tu decisión y lo que hagas estará bien, yo solo te comento lo que opino, nada más.
Saludos!
Lo implementare a ver que tal va total yo no tengo nada que perder, muchas gracias!
La llamada al xulrunner se haria igual?
Cita de: Trane! en 13 Diciembre 2013, 13:57 PMLa llamada al xulrunner se haria igual?
Si, por eso no te preocupes
[OFFTOPIC]
Quizás esto te interese -> http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1904508#msg1904508
[/OFFTOPIC]
Saludos!
Cita de: EleKtro H@cker en 13 Diciembre 2013, 15:02 PM
Si, por eso no te preocupes
[OFFTOPIC]
Quizás esto te interese -> http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1904508#msg1904508
[/OFFTOPIC]
Saludos!
El de "Elimina todas las cookies que haya generado el navegador" si que me interesa, algunos del tercer ejemplo ya los toque un poco a mi gusto. Gracias de nuevo!