Joh*_*sch 17 .net service installer batch-file windows-server-2003
我没有编写批处理脚本的经验,但我想知道是否有一种方法可以installutil.exe使用这样的脚本安装.NET Windows服务,或者卸载服务(如果已经安装),理想情况下我需要某种确认喜欢执行卸载(例如按y卸载).
以下是一些细节:
C:\Program Files\Data Service目录中program.log在安装服务后,将一条简单的行添加到日志文件(我们将在此目录中调用它)会很不错C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727如果你觉得这可以用更好的方式完成,那么听听其他建议会很高兴.我总是可以编写服务安装程序,但这不是优先事项.
Kin*_*nze 32
这是我以前安装的批处理文件.
@ECHO OFF
REM The following directory is for .NET 2.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set PATH=%PATH%;%DOTNETFX2%
echo Installing MyService...
echo ---------------------------------------------------
InstallUtil /i MyService.exe
echo ---------------------------------------------------
echo Done.
pause
Run Code Online (Sandbox Code Playgroud)
要卸载,我使用了以下内容:
@ECHO OFF
REM The following directory is for .NET 2.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set PATH=%PATH%;%DOTNETFX2%
echo Uninstalling MyService...
echo ---------------------------------------------------
InstallUtil /u MyService.exe
echo ---------------------------------------------------
echo Done
Run Code Online (Sandbox Code Playgroud)
Ann*_*ram 26
只做自安装服务更容易.实现此功能后,您可以直接使用(/ i或/ u开关)运行服务exe,或者根据需要将调用包装在批处理文件中.
static void Main(string[] args)
{
if (args.Length > 0)
{
//Install service
if (args[0].Trim().ToLower() == "/i")
{ System.Configuration.Install.ManagedInstallerClass.InstallHelper(new string[] { "/i", Assembly.GetExecutingAssembly().Location }); }
//Uninstall service
else if (args[0].Trim().ToLower() == "/u")
{ System.Configuration.Install.ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location }); }
}
else
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new MyService() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
}
Run Code Online (Sandbox Code Playgroud)
VBN*_*ght 14
您可以使用命令行参数(-i -u etc)设置服务exe以支持自我注册/取消注册,而不是编写批处理文件来执行相同的操作.
有关在.NET中创建自安装服务的信息
http://anotherlab.rajapet.net/2006/06/self-installing-services-in-net.html
http://www.gotnet.biz/WindowsServiceSelfInstaller.ashx
同时向解决方案添加安装项目并让Visual Studio构建安装包可能会更快.
如何在Visual Basic .NET或Visual Basic 2005中为Windows服务创建安装项目
(VB)http://support.microsoft.com/kb/317421
(C#)http://support.microsoft.com/kb/816169
小智 6
这是我使用的那个.我发现并使用它.Thanx给创作者..
@echo off
SET PROG="YourServiceHere.exe"
SET FIRSTPART=%WINDIR%"\Microsoft.NET\Framework\v"
SET SECONDPART="\InstallUtil.exe"
SET DOTNETVER=2.0.50727
IF EXIST %FIRSTPART%%DOTNETVER%%SECONDPART% GOTO install
SET DOTNETVER=1.1.4322
IF EXIST %FIRSTPART%%DOTNETVER%%SECONDPART% GOTO install
SET DOTNETVER=1.0.3705
IF EXIST %FIRSTPART%%DOTNETVER%%SECONDPART% GOTO install
GOTO fail
:install
ECHO Found .NET Framework version %DOTNETVER%
ECHO Installing service %PROG%
%FIRSTPART%%DOTNETVER%%SECONDPART% %PROG%
GOTO end
:fail
echo FAILURE -- Could not find .NET Framework install
:param_error
echo USAGE: installNETservie.bat [install type (I or U)] [application (.exe)]
:end
ECHO DONE!!!
Pause
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71886 次 |
| 最近记录: |