Windows komut istemi (Visual Studio komut istemi değil) kullanarak bir Windows hizmeti yüklemek istiyorum.
Bunu nasıl yaparım?
Windows komut istemi (Visual Studio komut istemi değil) kullanarak bir Windows hizmeti yüklemek istiyorum.
Bunu nasıl yaparım?
Yanıtlar:
.Net klasörünüzdeki installutil.exe dosyasına gidin (örneğin .net 4 için C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) ve hizmetinizi yüklemek için aşağıdaki gibi kullanın:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
SC Create komutunda yanlış bir şey yok. Sadece doğru argümanları bilmeniz gerekir:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sckomutu var, ancak farklı bir şey, hizmetleri kaydetmek için kullanılamaz.
Dizinin adının benzer bir alanı c:\program files\abc 123varsa, yolun etrafında çift tırnak kullanmanız gerekir.
installutil.exe "c:\program files\abc 123\myservice.exe"

Aşağıdaki gibi bir bat dosyası ayarlarsanız işleri daha kolay hale getirir,
Örneğin bir hizmet yüklemek için bir "myserviceinstaller.bat" ve " Yönetici Olarak Çalıştır " oluşturun
@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause
hizmeti kaldırmak,
İnstallutil komutuna bir -u ekleyin .
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
Aşağıdakileri yapın:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]Yönetici haklarıyla açmanız önemlidir, aksi takdirde anlamlı olmayan hatalar bulabilirsiniz. Herhangi bir şey alırsanız, önce yönetici haklarıyla açıp açmadığınızı kontrol edin!
Yönetici haklarıyla açmak için 'Komut İstemi'ni sağ tıklayın ve' Yönetici olarak çalıştır'ı seçin.
Kurulum Hizmeti: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Unice yükleyin Sevice: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Bu iş parçacığına bir nokta daha eklemeliyim. 64-bitMontajların sürümünü kurmak / kaldırmak 64-bitiçin aracın sürümünü kullanmalısınız . Bir hizmeti yüklemek için komut şu şekilde olmalıdır:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
ve komutu kaldırmak için:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Bir oluşturma *.batwindows servis ait yanında dosyayı exedosyası yüklemek için aşağıdaki içerikle:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Bir oluşturma *.batwindows servis ait yanında dosyayı exedosyası kaldırma için aşağıdaki içerikle:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Windows hizmetinizi yüklemek veya kaldırmak için her batdosyayı Yönetici olarak çalıştırın .
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ klasöre gitmek içininstallutil C:\ProjectFolder\bin\Debug\MyProject.exeNot: Kaldırmak için:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Visual studio'yu açın ve sekmedeki Windows Serviceşablonu seçerek yeni proje seçin Windows Desktop. Aşağıdaki kodu service_name.cs dosyanıza kopyalayın.
using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
public partial class Timer_Service : ServiceBase
{
public Timer_Service()
{
InitializeComponent();
}
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Timer_Service service = new Timer_Service();
service.OnStart(null);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Timer_Service()
};
ServiceBase.Run(ServicesToRun);
}
}
protected override void OnStart(string[] args)
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
}
protected override void OnStop()
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
}
}
}
Service_name.cs dosyasına sağ tıklayın ve servis tasarımcısını açın. sağ tıklayın ve seçin Add Installer. sağ tıklayın serviceProcessInstaller1ve özellik değerini olarak Accountolarak UserdeğiştirinLocal System .
static void mainYöntemi Program.csdosyadan kaldır . Daha sonra projenizi kaydedin ve oluşturun.
NOT: git bin\Ddebugproje klasörün klasör. Daha sonra service_name.exedosyanızın özelliklerini açın . CompatibilitySekmeye git . Sonra tıklayın Change Settings For All Users.
Seçeneği seçin Run this program as an administrator.
Şimdi CommandPromt'u Yönetici olarak açmalısınız. Açtıktan sonra dizini InstallUtil.exedosyanızın bulunduğu yere ayarlayın. örneğin: C:\Windows\Microsoft.NET\Framework64\v4.0.30319. şimdi aşağıdaki komutu yazın:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Not: -i kurulum içindir ve -u Kurulumdan Çıkarma içindir.
-i sonrası servisinizi kurmak istediğiniz yolu yazın.
şimdi komutu aşağıdaki gibi CommandPromt'a yazın:
C:\TimerService\TimerService\bin\Debug>net start service_name
Not:stop Hizmeti durdurmak için kullanın .
Şimdi aç ViewEventLog.exe. Windows Günlükleri> Uygulama'yı seçin. Burada, hizmeti başlatıp durdurarak Hizmet günlüğünüzü kontrol edebilirsiniz.
Powershell kullanıyorsanız ve .NET hizmetini yüklemek istiyorsanız Install-Service'i kullanabilirsiniz. modülünü kullanabilirsiniz. InstalUtil aracı için bir sarıcıdır.
3 komut sunar
Bu modülün kodu buradan görüntülenebilir
aşağıdaki kodu kullanarak Hizmeti yükleyip kaldırabilir,
Komut istemini açın ve programı yönetici olarak çalıştırın ve aşağıdaki komutu çalıştırın ve enter tuşuna basın.
Sözdizimi
Yüklemek
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
örneğin: Yolumuz InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Kaldırmak için
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
örneğin: Yolumuz InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
daha fazla yardım için aşağıdaki bağlantıyı görebilirsiniz: örnek program
Windows Hizmetini dağıtırken adımları izleyin, zaman kaybetmeyin
1- Yönetici hakkı tarafından komut istemini çalıştırın
2- IDE'nizde derleme yaparken serbest bırakma modundan emin olun
3- Proje yükleyicinize tasarım görünümünde bir tür verin
4- Doğrulama türünü duruma göre seçin
5- Yazılım bağımlılıklarından emin olun: Sertifika kullanıyorsanız, doğru şekilde kurun
6- Konsolunuza gidin şunu yazın:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
kaldırmak için -i c:\kullanabileceğiniz exe yolundan önce gizli bir -i argümanı var-u
7- Günlük dosyasına bakmak için .exe yolunuza bakın. Özelliği gözlemlemek için olay görüntüleyiciyi kullanabilirsiniz
Geliştirici komut istemini Yönetici olarak açın ve şuraya gidin:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Şimdi yolunu .exeorada olduğun yerde kullan
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
derleme sürümünüz ve Visual studio projeniz Biuld dot net 2 veya 4 üzerinde ayarlandığında aynı sürümle yüklendiğinde.
installutilaynı sürümle hizmeti yükle
nokta ağ 4 inşa eğer
tip c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
nokta ağı 2'de inşa edildiyse
tip c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
Başlat menüsünden Visual Studio dizinini seçin, ardından VS için Geliştirici Komut İstemi'ni seçin.
Visual Studio için Geliştirici Komut İstemi belirir.
Projenizin derlenmiş yürütülebilir dosyasının bulunduğu dizine erişin.
Komut isteminden InstallUtil.exe dosyasını projenizin yürütülebilir parametresi olarak çalıştırın
Komut istemini açmalısınız,
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Komut istemini yönetici olarak açın, klasörünüzün bulunduğu Klasörünüze gidin .exe. Yüklemek için Exehizmet olarak
D:\YourFolderName\YourExeName /i
Kaldırmak için kullanın /u.