Saya menginstal Layanan Windows menggunakan ServiceProcessInstaller
dan ServiceInstaller
kelas.
Saya telah menggunakan ServiceProcessInstaller
untuk menyetel jenis awal, nama, dll. Tetapi bagaimana cara menyetel tindakan pemulihan ke Mulai ulang?
Saya tahu saya dapat melakukannya secara manual setelah layanan diinstal dengan membuka Konsol manajemen layanan dan mengubah pengaturan di tab pemulihan properti layanan, tetapi adakah cara untuk melakukannya selama penginstalan?
.net
windows-services
service
sinar
sumber
sumber
process.Close()
baris tidak berguna.reset= 0
benar, danreset=0
salah. Penggunaan spasi yang benar sangat penting,reset=
adalah satu argumen, diikuti oleh spasi, lalu0
.Setelah banyak upaya, saya menyelesaikannya menggunakan aplikasi baris perintah sc .
Saya memiliki file batch dengan installutil dan sc. File batch saya mirip dengan:
installutil.exe "path to your service.exe" sc failure "your service name" reset= 300 command= "some exe file to execute" actions= restart/20000/run/1000/reboot/1000
Jika Anda ingin dokumentasi lengkap dari perintah sc, ikuti tautan ini: SC.exe: Berkomunikasi dengan Service Controller dan layanan yang diinstal
Catatan: Anda perlu menambahkan spasi setelah setiap simbol yang sama (=). Contoh: reset = 300
sumber
Saya rasa itu bukan bagian dari .NET API, tetapi ini mungkin membantu:
Ekstensi ServiceInstaller yang Memungkinkan Pemulihan dan Konfigurasi Mulai Otomatis
Instal layanan Windows seperti yang ANDA inginkan! (Versi C #)
sumber
Saya menemukan proyek berikut yang menangani pengaturan ini, hanya menggunakan kode dan panggilan Win API:
http://code.msdn.microsoft.com/windowsdesktop/CSWindowsServiceRecoveryPro-2147e7ac
sumber