Membuat segala aplikasi menjadi service di windows apapun

Kisah ini bermula ketika saya masih disuruh mengurus server di kantor saya yang lama. Seperti biasa, kami di kantor perwakilan – sebagaimana di kantor cabang lain – harus jungkir-balik menyesuaikan diri dengan kemauan teman-teman yang cerdas di kantor pusat. Untuk urusan aplikasi intern saja, kami harus menyiapkan sedikit pengetahuan mengenai SybaseSQL dan mySQL. Minimal untuk sekedar install, menyalakan, dan memasang database-nya. Beberapa aplikasi kecil untuk kejar-tayang dibuat dengan MSAccess. Belum lagi untuk aplikasi yang disebarkan ke eksternal, kami harus mengenal MSSQLServer. Cape deh!

Yang paling menyebalkan adalah ketika keluarga SQL yang harus kami install di server bukan berasal dari keluarga Microsoft. Misalnya mySQL dan Sybase tadi. Jika Access dan SQLServer bisa otomatis dijalankan sebagai service, kami harus berjibaku memasang mySQL dan SyBase di server 2003 kami.

Pertama, tentu saja kami dengan bodohnya membuat shortcut di Startup menu. Awalnya tidak ada masalah, karena server kami selalu hidup dan selesai instalasi saya sempat login dan mengunci desktop. Persoalan timbul ketika malam harinya listrik mati, dan UPS kami yang malang tidak mampu menunggu listrik yang mati berjam-jam. Paginya, server2003 memang langsung menyala, tapi saya terpaksa masuk ke layar login untuk menghidupkan Sybase dari startup menu di username kami. Betapa konyolnya kalau tiap malam listrik mati dan saya harus datang pagi-pagi hanya untuk menyalakan server!

Setelah keluyuran di internet dengan berbagai keyword, saya menemukan tool menarik ini: xyntservice. Tool kecil ini gratis, disertakan source-code dan kompilasinya, tidak perlu masuk ke registry untuk setting, dapat menjalankan 127 aplikasi yang saling-terkait, dan bahkan sampai tidak terhingga jika aplikasi itu tidak saling terkait!

Caranya amat sangat mudah. File xyntservice hasil download di-unzip, lalu masuk ke prompt DOS. Dari direktori tempat unzip tadi, jalankan perintah: xyntservice -i lalu enter. Tool xyntservice ini sudah terinstall dan siap menerima parameter yang ditentukan.

File konfigurasi ada di xyntservice.ini dengan parameter sbb:

[Settings]
ServiceName = namaservis
CheckProcessSeconds = 18000
[Process0]
CommandLine = e:\folder\ke\file\aplikasi.exe
WorkingDir= e:\
PauseStart= 100
PauseEnd= 100
UserInterface = Yes
Restart = Yes

Menurut referensi user manual xyntervice, masing-masing parameter itu berarti:

  • ServiceName akan muncul di Administrative Tools – Services.
  • CheckProcessSeconds = tiap x detik akan dicek apakah aplikasi masih jalan atau tidak (terkait parameter Restart).
  • CommandLine = tempat aplikasi di hard disk. Jika ada parameter tambahan, jangan pakai tanda petik.
  • WorkingDir = direktori aplikasi
  • PauseStart = jangan jalankan proses lain sebelum x detik.
  • PauseEnd = jika service dimatikan, tunggu x detik supaya aplikasi sempat menyimpan data (jika aplikasinya bisa auto-save).
  • UserInterface = apakah dijalankan GUI aplikasi?
  • Restart = jika saat dicek (terkait checkProcessSeconds) aplikasi mati, apakah akan dinyalakan lagi atau tidak?
  • Jika ada aplikasi lanjutan yang terkait, dapat ditulis di bawahnya dengan [process1], [process2], dst. Dengan cara ini, jika process0 error maka proses selanjutnya pun otomatis dibatalkan.

    Jika ada beberapa aplikasi yang tidak saling terkait, buat folder baru dengan file xyntservice di dalamnya. Lalu masing-masing di-install terpisah satu demi satu. Jangan lupa ServiceName di xyntservice.ini dibedakan namanya.

    Lebih lengkapnya lihat di codeproject.

Iklan

4 thoughts on “Membuat segala aplikasi menjadi service di windows apapun

  1. Apa kah bisa hp Nokia 7610 menerima aplikasi Tulisan jungkir. . .
    Hai lg pa. . .

    hanin: jiah! gak nyambung! mene ketehe, secara gak pernah pegang hape n7610… :((

  2. mas, kalo untuk lebih dari satu aplikasi gimana mas?

    hanin: bisa kok, silakan baca paragraf terakhir (ini saya kutip lagi)

    Jika ada beberapa aplikasi yang tidak saling terkait, buat folder baru dengan file xyntservice di dalamnya. Lalu masing-masing di-install terpisah satu demi satu. Jangan lupa ServiceName di xyntservice.ini dibedakan namanya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s