ฉันใช้ไฟล์แบตช์ต่อไปนี้ซึ่งวนซ้ำได้สูงสุด 300 ครั้ง มีสองอาร์กิวเมนต์% 1 คือพา ธ ไปยังโฟลเดอร์ที่มีไฟล์แบทช์ไฟล์ pfx และ signtool.exe % 2 คือเส้นทางแบบเต็มไปยังไฟล์ที่เซ็นชื่อ คุณสามารถเรียกสิ่งนี้ในเหตุการณ์สร้างภาพหลังสตูดิโอของคุณด้วยสิ่งที่เรียกว่า "$ (SolutionDir) thirdparty \ sign \ sign.bat" "$ (SolutionDir) thirdparty \ Sign" "$ (TargetPath)" ฉันได้แก้ไขไฟล์แบตช์นี้เป็น ใช้เซิร์ฟเวอร์การประทับเวลาที่แตกต่างกันในการทำซ้ำแต่ละครั้ง ปัจจุบันใช้ Comodo, Verisign, GlobalSign และ Starfield หวังว่านี่คือ The Ultimate Signing Script;)
@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ลงในไซต์ที่เชื่อถือได้ด้วย (ขอบคุณ Vince) ผมคิดว่านั่นอาจเป็นก้าวสำคัญ ฉันอัปเดตใบรับรองหลักบนพีซีด้วย