10

私はバットファイルに以下を持っています:

@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Installing IEPPAMS Win Service...
echo ---------------------------------------------------
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil My.WindowsService.exe
echo ---------------------------------------------------
pause
echo Done.

問題は、bat ファイルが My.WindowsService.exe と同じフォルダーにある場合でも、C:\Windows\System32..... で検索しようとすることです。

これを解決するにはどうすればよいですか?

4

4 に答える 4

13

これが解決方法です:

@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Installing IEPPAMS Win Service...
echo ---------------------------------------------------
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil "%~dp0My.WindowsService.exe"
echo ---------------------------------------------------
pause
echo Done.
于 2012-11-09T08:16:50.303 に答える
6

私が見つけたいくつかの記事によると、サービスへの絶対パスを渡すことが必要です。例えば:

{...Path_To_.NET_Framework...}\InstallUtil C:\MyFolder\My.WindowsService.exe

動的に生成されたパスが必要な場合は、バッチ ファイルで次のようなものを使用して現在のディレクトリを取得できます。

set CURDIR=%CD%
{...Path_To_.NET_Framework...}\InstallUtil %CURDIR%\My.WindowsService.exe

参考文献:

于 2012-09-28T15:52:52.787 に答える
2

古すぎますが、役に立ちました...いくつかの変更を加えました。

私のサービスは手動で開始されるため、バッチに開始コマンドを含めてから、インストールされたサービスを確認するためにコンソールを開きます。

@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Installing MyService Win Service...
echo ---------------------------------------------------
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil /i "%~dp0MyService.exe"
net start MyService
services.msc
echo ---------------------------------------------------
pause
echo Done.
于 2013-07-30T15:57:00.017 に答える
1

インストールとアンインストールの例


@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Instalar Servicio......
echo ---------------------------------------------------
InstallUtil /i "%~dp0WindowsService1.exe"
echo ---------------------------------------------------
pause
echo Done.



@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Desintalar Servicio...
echo ---------------------------------------------------
InstallUtil /u "%~dp0WindowsService1.exe"
echo ---------------------------------------------------
pause
echo Done.
于 2019-01-17T05:37:42.027 に答える