আমি দেরি করে ফেলেছি, তবে একটি বিকল্প যুক্ত করতে চাই, যা দেখতে অদ্ভুত লাগবে, তবে আমি অন্য কোনও উপায় দেখিনি:
আমি প্রতি রাতে একটি সিআই প্রক্রিয়াতে আমার উইন্ডোজ পরিষেবাদি ইনস্টল করার সাথে সাথে আমার এমন কিছু জিনিস প্রয়োজন যা পুরো সময় কাজ করে এবং সম্পূর্ণ স্বয়ংক্রিয়ভাবে তৈরি। কোনও কারণে, পরিষেবাগুলি আনইনস্টল করার পরে দীর্ঘ সময় (5 মিনিট বা তার বেশি) জন্য সর্বদা মুছে ফেলার জন্য চিহ্নিত করা হয়েছিল। অতএব, পরিষেবাটি সত্যিই মুছে ফেলা হয়েছে (সরলীকৃত সংস্করণ) তা নিশ্চিত করতে আমি পুনরায় ইনস্টল ব্যাচ স্ক্রিপ্টটি বাড়িয়েছি:
REM Stop the service first
net stop My-Socket-Server
REM Same as installutil.exe, just implemented in the service
My.Socket.Server.exe /u
:loop1
REM Easy way to wait for 5 seconds
ping 192.0.2.2 -n 1 -w 5000 > nul
sc delete My-Socket-Server
echo %date% %time%: Trying to delete service.
if errorlevel 1072 goto :loop1
REM Just for output purposes, typically I get that the service does not exist
sc query My-Socket-Server
REM Installing the new service, same as installutil.exe but in code
My.Socket.Server.exe /i
REM Start the new service
net start My-Socket-Server
আমি যেটা দেখতে পাচ্ছি, তা হল যে পরিষেবাটি শেষ পর্যন্ত না যাওয়া পর্যন্ত প্রায় 5 মিনিট (!) জন্য মুছে ফেলার জন্য চিহ্নিত করা হয়। অবশেষে, আমার আর কোনও ম্যানুয়াল হস্তক্ষেপের দরকার নেই। আমি ভবিষ্যতে স্ক্রিপ্টটি প্রসারিত করব যাতে একটি নির্দিষ্ট সময়ের পরে কিছু ঘটে (যেমন 30 মিনিটের পরে বিজ্ঞপ্তি)।