[VB.Net] Service start niet in Vista

Pagina: 1
Acties:

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 30-11 21:38

WhiteDog

met zwarte hond

Topicstarter
Ik heb een service gemaakt met VB.Net 2005 die perfect werkt onder Windows XP. Ik heb deze met "sc create" geïnstalleerd onder Vista. Als ik de service probeer te starten krijg ik echter:
Error 1053: The service did not respond to the start or control request in a timely fashion.
Als test heb ik een service gemaakt met alleen volgende code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.

        Dim oReg As RegistryKey
        oReg = Registry.LocalMachine.OpenSubKey("Software", True)
        oReg = oReg.CreateSubKey("Test")
        oReg.SetValue("Test", "test")
        oReg.Close()

    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.
    End Sub


Zijn er bepaalde dingen waar ik rekening mee moet houden bij het compilen of installeren? Zoiets simpel zou toch probleemloos moeten werken :/

Op Google zoeken naar iets waar "Vista" in voorkomt is helaas gekkenwerk geworden :)

Edit: zelfde probleem, geen oplossing:
http://forums.microsoft.c...px?PostID=917389&SiteID=1

[ Voor 4% gewijzigd door WhiteDog op 19-11-2006 23:17 ]


Verwijderd

Onder Vista heb je waarschijnlijk standaard geen schrijfrechten in HKLM?

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:04
Ik zou zeggen: debug het eens, zodat je een specifieke foutmelding kunt onderscheppen. Echter, debuggen van een service is niet altijd even makkelijk.

Ik zie wel dat je in de OnStart een key wilt maken in het register. daar zal het foutlopen. Je service zal daar niet voldoende permission voor hebben, en er zal een exceptie gegooid worden.
Je zal er moeten voor zorgen dat de account die de service start, rechten op het register heeft.

Je zou evt ook kunnen proberen om een Registry permission te 'asserten' voordat je naar eht register gaat schrijven; vergeet dan ook niet om die assert weer ongedaan te maken.
code:
1
2
3
4
5
6
7
8
9
10
11
RegistryPermission rp = new RegistryPermission (RegistryPermissionAccess.AllAccess, Registry.LocalMachine);
rp.Assert();
try
{
   // doe hier registry stuff
   ...
}
finally
{
   rp.RevertAssert();
}

https://fgheysels.github.io/


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 30-11 21:38

WhiteDog

met zwarte hond

Topicstarter
Ik heb net even getest met NIETS in de OnStart en dat werkt zelfs niet. Debuggen is inderdaad een hel. Meestal debug ik met naar een tekst file te schrijven maar dat lukt in dit geval dus ook niet :)

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 30-11 21:38

WhiteDog

met zwarte hond

Topicstarter
Ik heb even een nieuwe service gemaakt, code copy/paste, wat overbodige dingen eruit en je raad het al: het werkt.

Vraag me toch af wat het probleem was. Dit zijn mijn eerste ervaringen met .NET en Vista en ik vind beide een rotte omgeving om in te werken :P

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Heb je alle juiste extenties voor VS 2005 geïnstalleerd? http://msdn2.microsoft.com/en-us/vstudio/aa973758.aspx Ik heb dat zelf nog niet gedaan, dus kan je er geen ervaringen over delen.

Van Microsoft mensen heb ik begrepen dat het niet altijd even triviaal is om programma's die op XP en 2003 werken op Vista te laten draaien, vanwege permission issues. De Vista extensions zouden dit op moeten lossen.

Als je het gaat gebruiken ben ik benieuwd naar je ervaringen :)
Pagina: 1