मैं निम्नलिखित बैच फ़ाइल का उपयोग करता हूं जो अधिकतम 300 बार लूप करता है। दो तर्क हैं,% 1 बैच फ़ाइल, pfx फ़ाइल और signtool.exe वाले फ़ोल्डर का पथ है। % 2 हस्ताक्षरित होने वाली फ़ाइल का पूर्ण पथ है। आप इसे अपने दृश्य स्टूडियो पोस्ट बिल्ड ईवेंट में कॉल "$ (सॉल्यूशनर) थर्डपार्टी \ साइनिंग \ साइन.बात" "$ (सॉल्यूडिर) थर्डपार्टी" साइनिंग "" $ (टारगेटपैथ) "" जैसे कुछ बैच फ़ाइल के साथ संशोधित कर सकते हैं। प्रत्येक पुनरावृत्ति में विभिन्न टाइमस्टैम्प सर्वर का उपयोग करें। वर्तमान में यह Comodo, Verisign, GlobalSign और Starfield का उपयोग करता है। उम्मीद है कि यह अंतिम हस्ताक्षर स्क्रिप्ट है;)
@echo off
REM create an array of timestamp servers...
set SERVERLIST=(http://timestamp.comodoca.com/authenticode http://timestamp.verisign.com/scripts/timestamp.dll http://timestamp.globalsign.com/scripts/timestamp.dll http://tsa.starfieldtech.com)
REM sign the file...
%1\signtool.exe sign /f %1\comodo.pfx /p videodigital %2
set timestampErrors=0
for /L %%a in (1,1,300) do (
for %%s in %SERVERLIST% do (
REM try to timestamp the file. This operation is unreliable and may need to be repeated...
%1\signtool.exe timestamp /t %%s %2
REM check the return value of the timestamping operation and retry a max of ten times...
if ERRORLEVEL 0 if not ERRORLEVEL 1 GOTO succeeded
echo Signing failed. Probably cannot find the timestamp server at %%s
set /a timestampErrors+=1
)
REM wait 2 seconds...
choice /N /T:2 /D:Y >NUL
)
REM return an error code...
echo sign.bat exit code is 1. There were %timestampErrors% timestamping errors.
exit /b 1
:succeeded
REM return a successful code...
echo sign.bat exit code is 0. There were %timestampErrors% timestamping errors.
exit /b 0
मैंने भी http://timestamp.comodoca.com को विश्वसनीय साइटों (धन्यवाद विंस) में डाल दिया । मुझे लगता है कि यह एक महत्वपूर्ण कदम हो सकता है। मैंने पीसी पर रूट सर्टिफिकेट भी अपडेट किया।