Vraag Hoe op te lossen "'installutil' wordt niet herkend als een interne of externe opdracht, bedienbaar programma of batchbestand."?


Gewoon geprobeerd om een ​​toepassing via het volgende uit te voeren:

enter image description here

Ik ben met een app naar de map gegaan WindowsService1.exe erin, probeerde toen de opdracht Installutil WindowsService1.exe maar kreeg de volgende foutmelding ...

enter image description here

Omdat VS slechts een dag of twee is geïnstalleerd, ben ik bang dat er iets mis is met die installatie, omdat het installutil moet herkennen.

Zijn er enkele standaarddiagnoses die ik kan uitvoeren om ervoor te zorgen dat de VS-opdrachtprompt alle programma's vindt die het zou moeten doen?

BEWERK

Als ik ren PATH in de opdrachtprompt zie ik het volgende:

enter image description here


46
2017-10-03 07:20


oorsprong


antwoorden:


Dit is een klein beetje afwijkend van onderwerp, maar ik stop met het gebruiken van InstallUtil om mijn services te installeren. Het is heel gemakkelijk om het gewoon aan de service zelf toe te voegen. Voeg een verwijzing toe aan System.Configuration.Install (niet beschikbaar in de Clientprofiel-edities als ik het goed onthoud) en werk dan je Main () - functie bij in Program.cs zoals deze.

static void Main(string[] args)
{
    if (Environment.UserInteractive)
    {
        string parameter = string.Concat(args);
        switch (parameter)
        {
            case "--install":
            ManagedInstallerClass.InstallHelper(new[] { Assembly.GetExecutingAssembly().Location });
            break;
            case "--uninstall":
            ManagedInstallerClass.InstallHelper(new[] { "/u", Assembly.GetExecutingAssembly().Location });
            break;
        }
    }
    else
    {
        ServiceBase[] servicesToRun = new ServiceBase[] 
                          { 
                              new Service1() 
                          };
        ServiceBase.Run(servicesToRun);
    }
}

Dan kun je gewoon bellen WindowsService1.exe met de --install argument en het zal de service installeren en je kunt het vergeten InstallUtil.exe.


108
2017-10-03 07:35



Dit is wat ik heb gedaan om het weg te laten gaan:

  1. Gevonden waar installutil zich op mijn pc bevindt. In mijn geval was het C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319

  2. Opende een opdrachtprompt als een beheerder en veranderde de huidige map naar boven: 'cd C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319'

  3. Voer vervolgens in: 'installutil C: \ MyProgramName.exe'

Interessant is dat voorafgaand aan bovenstaande oplossing ik verschillende opties probeerde, waaronder het toevoegen van C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 aan de System Path-variabele, maar het nog steeds niet kon vinden.

Wens jullie allemaal een vlotte installatie.


26
2017-12-10 07:15



InstallUtil.exe bevindt zich meestal onder een van de versies die worden weergegeven onder C: \ Windows \ Microsoft.NET \ Framework.

In mijn geval is het onder v4.0.30319.

Je zou gewoon je pad kunnen checken:

echo% PATH%

zou u een lijst moeten geven met directory's die naar uitvoerbare bestanden gezocht zijn.


25
2017-10-03 07:25



Tenzij u uw pad hebt gewijzigd, moet het volgende beschikbaar zijn in de opdrachtprompt van de ontwikkelaar en niet in cmd:

  • msbuild
  • mstest (voor ultiem)
  • csc
  • ilasm

... enz

Als deze niet beschikbaar zijn, hebt u mogelijk een beschadigde installatie.


2
2017-10-03 07:24



Een oplossing gevonden op bytes.com

De code om een ​​service te installeren:

@ECHO Installing Service...
@SET PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\
@InstallUtil  C:\Unlock_4_Service\bin\Debug\Unlock_4_Service.exe
@ECHO Install Done.
@pause

@InstallUtil <.exe bestandspad van uw Windows-service>

Code om de service te verwijderen

@ECHO Installing Service...
@SET PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\
@InstallUtil /u C:\Unlock_4_Service\bin\Debug\Unlock_4_Service.exe
@ECHO Uninstall Done.
@pause

@InstallUtil / u <.exe-bestandspad van uw Windows-service>

Sla de 2 bestanden op als service_install.bat en service_uninstall.bat

Voer de bestanden uit als beheerder, elke keer dat u de service moet installeren of de-installeren. enter image description here


2
2018-06-16 04:29



open de opdrachtprompt van de visuele studio in de admin-modus, d.w.z. klik met de rechtermuisknop op de opdrachtprompt en voer deze uit als beheerder


1
2017-11-30 09:54



Dit kan zijn gebeurd omdat u de opdrachtprompt niet hebt geopend als beheerder of met beheerdersbevoegdheden.


0
2018-05-07 09:33



Ik kreeg dit nadat ik vanaf 2017 terugging naar 2015 en ik nog steeds de opdrachtprompt van 2017 gebruikte. Iets om te controleren.


0
2018-05-25 19:21