次の方法でアプリケーションを実行しようとしました。
アプリでディレクトリを参照しましたWindowsService1.exe
その中で、コマンドInstallutil WindowsService1.exe
しかし、次のエラーが発生しました...
VSは1〜2日しかインストールされていないので、installutilが認識されるはずなので、そのインストールに何か問題があるのではないかと心配しています。
VSコマンドプロンプトが必要なすべてのプログラムを検出していることを確認するために実行できる基本的な診断はありますか?
[〜#〜] edit [〜#〜]
コマンドプロンプトでPATH
を実行すると、次のように表示されます。
これは少し話題から外れていますが、InstallUtilを使用してサービスをインストールするのをやめました。サービス自体に追加するだけで本当に簡単です。 System.Configuration.Install
への参照を追加して(正しいことを覚えている場合、Client Profileエディションでは使用できません)、Program.csのMain()関数を次のように更新します。
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);
}
}
次に、WindowsService1.exe
引数で--install
を呼び出すだけで、サービスがインストールされ、InstallUtil.exe
を忘れることができます。
これは私がそれを消滅させるためにしたことです:
私のPCのinstallutilのある場所を見つけました。私の場合、C:\ Windows\Microsoft.NET\Framework\v4.0.30319でした
管理者としてコマンドプロンプトを開き、現在のディレクトリを上記に変更しました: 'cd C:\ Windows\Microsoft.NET\Framework\v4.0.30319'
次に、「installutil C:\ MyProgramName.exe」と入力しました
興味深いことに、上記のソリューションの前に、C:\ Windows\Microsoft.NET\Framework\v4.0.30319をシステムパス変数に追加するさまざまなオプションを試しましたが、それでも見つけることができませんでした。
スムーズにインストールしてください。
InstallUtil.exeは通常、C:\ Windows\Microsoft.NET\Frameworkにリストされているバージョンのいずれかの下にあります。
私の場合、v4.0.30319以下です。
あなたのパスを確認することができます:
エコー%PATH%
実行可能ファイルを検索するディレクトリのリストが表示されます。
Bytes.comで解決策を見つけました
サービスをインストールするコード:
@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 <Windowsサービスの.exeファイルパス>
サービスをアンインストールするコード
@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 <Windowsサービスの.exeファイルパス>
2つのファイルをservice_install.batおよびservice_uninstall.batとして保存します
サービスをインストールまたはアンインストールする必要があるたびに、管理者としてファイルを実行します。
コマンドラインを使用してサービスをインストールする前に...
2つの手順を使用します。
Microsoftによると Page :
Visual Studioコマンドプロンプトを使用している場合、
InstallUtil.exe
はシステムパス上にある必要があります。そうでない場合は、パスに追加するか、完全修飾パスを使用して呼び出すことができます。このツールは.NET Frameworkと共にインストールされ、そのパスは次のとおりです。
%WINDIR%\Microsoft.NET\Framework[64]\
たとえば、32ビットバージョンの.NET Framework 4または4.5。*の場合、WindowsインストールディレクトリがC:\ Windowsの場合、パスは次のとおりです。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
64ビットバージョンの.NET Framework 4または4.5。*の場合、デフォルトのパスは次のとおりです。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe
これは、管理者または管理者権限でコマンドプロンプトを開いていないために発生した可能性があります。
visual Studioコマンドプロンプトを管理者モードで開きます(vsコマンドプロンプトを右クリックし、管理者として実行します)
パスを変更していない限り、開発者コマンドプロンプトではcmdではなく以下を使用できます。
...など
これらが利用できない場合、インストールが破損している可能性があります。
2017年から2015年に戻った後、これを取得しましたが、2017コマンドプロンプトをまだ使用していました。チェックするもの。
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