web-dev-qa-db-fra.com

Comment résoudre "" installutil "n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes."?

Je viens d'essayer de lancer une application via les éléments suivants:

enter image description here

J'ai parcouru le répertoire avec une application WindowsService1.exe dedans, puis j'ai essayé la commande Installutil WindowsService1.exe mais j'ai eu l'erreur suivante ...

enter image description here

Comme VS n’est installé que depuis un jour ou deux, je crains que cette installation ne soit défectueuse car elle devrait reconnaître installutil.

Existe-t-il des diagnostics de base que je peux effectuer pour m'assurer que l'invite de commande VS trouve tous les programmes qu'elle devrait?

EDIT

Si je lance PATH dans l'invite de commande, je vois ce qui suit:

enter image description here

50
whytheq

C'est un tout petit peu hors sujet, mais j'ai arrêté d'utiliser InstallUtil pour installer mes services. Il est très facile de simplement l'ajouter au service lui-même. Ajouter une référence à System.Configuration.Install (non disponible dans les éditions de profil client si je me souviens bien), puis mettez à jour votre fonction Main () dans Program.cs comme ceci.

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);
    }
}

Ensuite, vous pouvez simplement appeler WindowsService1.exe avec le --install argument et il va installer le service et vous pouvez oublier InstallUtil.exe.

120

Voici ce que j'ai fait pour le faire disparaître:

  1. Trouvé où installutil réside sur mon PC. Dans mon cas c'était C:\Windows\Microsoft.NET\Framework\v4.0.30319

  2. Ouverture d'une invite de commande en tant qu'administrateur et modification du répertoire actuel: "cd C:\Windows\Microsoft.NET\Framework\v4.0.30319"

  3. Puis entré: 'installutil C:\MyProgramName.exe'

Fait intéressant, avant la solution ci-dessus, j’ai essayé différentes options, parmi lesquelles l’ajout de C:\Windows\Microsoft.NET\Framework\v4.0.30319 à la variable Chemin système, mais il n’a toujours pas été trouvé.

Je vous souhaite une bonne installation.

30
user3085805

InstallUtil.exe se trouve généralement sous l'une des versions répertoriées sous C:\Windows\Microsoft.NET\Framework.

Dans mon cas, c'est sous la v4.0.30319.

Vous pouvez simplement vérifier votre chemin:

echo% PATH%

devrait vous donner une liste des répertoires recherchés pour les exécutables.

27
Daniel

Trouver une solution sur bytes.com

Le code pour installer un service:

@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 <chemin du fichier .exe de votre service Windows>

Code pour désinstaller le service

@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 <chemin du fichier .exe de votre service Windows>

Enregistrez les 2 fichiers sous les noms service_install.bat et service_uninstall.bat.

Exécutez les fichiers en tant qu'administrateur, chaque fois que vous devez installer ou désinstaller le service. enter image description here

4
user3188978

Avant d'installer le service à l'aide de la ligne de commande ...

utilisez 2 étapes:

  1. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
  2. Chemin InstallUtil.exe\MyWindowsService.exe
3
Abdulla Al Mamun

Selon Microsoft Page :

Si vous utilisez l’invite de commande Visual Studio, InstallUtil.exe devrait être sur le chemin du système. Sinon, vous pouvez l'ajouter au chemin ou utiliser le chemin qualifié complet pour l'invoquer. Cet outil est installé avec le .NET Framework et son chemin est le suivant:

%WINDIR%\Microsoft.NET\Framework[64]\

Par exemple, pour la version 32 bits de .NET Framework 4 ou 4.5. *, Si votre répertoire d'installation Windows est C:\Windows, le chemin est le suivant:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe

Pour la version 64 bits de .NET Framework 4 ou 4.5. *, Le chemin par défaut est le suivant:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe

2
BattleTested

Cela est peut-être dû au fait que vous n'auriez pas ouvert l'invite de commande en tant qu'administrateur ou avec des privilèges d'administrateur.

2
Ammu

ouvrir Visual Studio Command Invite en mode Administrateur, c'est-à-dire cliquer avec le bouton droit de la souris sur Invite de commande vs et l'exécuter en tant qu'administrateur.

2
user7230110

À moins que vous n'ayez modifié votre chemin, les éléments suivants devraient être disponibles dans la commande de développeur Prompt et non cmd:

  • msbuild
  • mstest (pour ultime)
  • csc
  • ilasme

... etc

Si ceux-ci ne sont pas disponibles, vous pouvez avoir une installation corrompue.

2
David Mason

Je l'ai eu après mon retour en 2015 à partir de 2017 et j'utilisais encore l'invite de commande 2017. Quelque chose à vérifier.

1
Todd Vance
Add this in windows Environmental variables
First: Right click on My computer or This PC
Second: Click on Environmental Variables
Third: add this path after clicking on path
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe
1
radhason power