หากโปรแกรมนี้เป็นขั้นสูง/ซับซ้อนสำหรับคุณ ให้ดูที่ปุ่ม "ติดตั้งง่าย" บนหน้าข้อมูล (ซึ่งมีข้อมูลเกี่ยวกับการเปลี่ยนแปลง) หลังจากใช้งาน (ในเวอร์ชันเต็ม) มันจะถอนการติดตั้งรันไทม์ VC++ ที่ติดตั้งทั้งหมดและติดตั้งรวมอยู่ในโปรแกรม
เป็นเรื่องยากมากที่จะสร้างโปรแกรมที่เรียบง่ายที่สุดเท่าที่จะเป็นไปได้และขั้นสูงที่สุดเท่าที่จะเป็นไปได้ในเวลาเดียวกัน ซึ่งคุณสามารถเปลี่ยนตัวเลือกทั้งหมดที่มีได้ แม้กระทั่งจากบรรทัดคำสั่ง! ดังนั้นฉันจึงสร้างแบตช์ไฟล์เพื่อแสดงให้คุณเห็นว่าโปรแกรมแยกวิเคราะห์บรรทัดคำสั่งอย่างไร และฉันได้อธิบายพารามิเตอร์ที่มีอยู่ทั้งหมดในไฟล์ข้อความ ฉันเพิ่มปุ่ม "ติดตั้งง่าย" ซึ่งคุณไม่จำเป็นต้องผ่านตัวเลือกที่เป็นไปได้ทั้งหมด
แต่โปรดจำไว้ว่าตัวเลือกการอัปเดตอัตโนมัติจะไม่ลบรายการที่ซ้ำซ้อนทั้งหมด (ในส่วนการถอนการติดตั้ง) - การติดตั้งปกติได้รับการออกแบบมาเพื่อสิ่งนั้น ปุ่ม "ติดตั้งง่าย" จะล้างรายการที่ซ้ำซ้อนทั้งหมดเช่นกัน หรือคุณสามารถลบรายการสองเท่าที่ปรากฏในส่วนถอนการติดตั้งด้วยตนเอง
เป็นการยากที่จะแข่งขันกับโปรแกรมที่มีให้ "ฟรี" แต่โดยปกติแล้วจะมีตัวเลือกน้อยกว่า จึงไม่รองรับระบบปฏิบัติการที่ใช้ส่วนใหญ่ สิ่งเดียวที่ดีก็คือว่า "ใช้งานได้ฟรี" เท่านั้นเอง เปรียบเทียบโปรแกรมของฉัน (รีแพ็ก) กับรีแพ็ก VC++ อื่นๆ และลองค้นหาตัวเลือกที่คล้ายกันซึ่งมีอยู่ในรีแพ็ก VC++ อื่นๆ
v22.05.10 (2022-05-10):
เพิ่ม "InnoSetup [ประเภท], [ส่วนประกอบ], [งาน], [เรียกใช้] โดยตรงใน [รหัส]" จากที่นั่น: https://github.com/Wilenty/InnoSetup-Types-Components-Tasks-Run-Directly -ในรหัส-
และเปลี่ยน "หน้าต่างเลือก VC++" เป็น "หน้าเลือก VC++" หลังจากข้อความข้อมูล
เพิ่มการรองรับสถาปัตยกรรม ARM64 จากนี้ไปจะรวม VC++ 2017, 2019 และ 2022 สำหรับ ARM64 (และรองรับ 2017/2019/2022 ในเวอร์ชันภายนอก พารามิเตอร์: /VC_redistARM64="X:FullPath (with spaces)totheVC_redist.arm64 exe")
เพิ่มพารามิเตอร์บรรทัดคำสั่งการถอนการติดตั้งแบบเลือก: /Uninstall="รายการคั่นด้วยเครื่องหมายจุลภาคของชื่อถอนการติดตั้ง เวอร์ชัน หรือ reg-keys" หลังจากเลือกการถอนการติดตั้งใน: /COMPONENTS="unarm64,unx64,unx86" พารามิเตอร์สำหรับ command- บรรทัด /Uninstall="12.v3r...,{AndOr-Reg-Keys...} และ/หรือชื่อ VC หรือบางส่วนของชื่อ..." จะต้องคั่นด้วยเครื่องหมายจุลภาค เช่นเดียวกับรายการพารามิเตอร์อื่นๆ สำหรับ InnoSetup. เมื่อคุณจะใช้พารามิเตอร์นี้ ส่วนประกอบทั้งหมดในรายการถอนการติดตั้งจะถูกยกเลิกการเลือก และเลือกเฉพาะส่วนประกอบที่จะตรงกับส่วนประกอบจากรายการถอนการติดตั้ง
เพิ่มพารามิเตอร์บรรทัดคำสั่งการติดตั้งที่ไม่มี dll: /NeedDLL="Missing.dll" มันเหมือนกับ "เมนู" (ปุ่ม) -> "Need a dll?" บนหน้าส่วนประกอบ แต่จากบรรทัดคำสั่ง พารามิเตอร์ที่กล่าวถึงข้างต้นสามารถทำงานแยกกันหรือทำงานกับพารามิเตอร์ "/COMPONENTS=" ด้วยการใช้พารามิเตอร์บรรทัดคำสั่งที่กล่าวถึงข้างต้นเพียงตัวเดียว (เช่น "/NeedDLL=") ตัวติดตั้งจะถูกสลับไปที่ "CustomSetup" และส่วนประกอบทั้งหมดจะถูกยกเลิกการเลือก โดยจะเลือกเฉพาะส่วนประกอบเหล่านี้ซึ่งจะสามารถค้นหาได้ โดยใช้ไฟล์ dll ที่กำหนด แต่ด้วยการใช้ "/COMPONENTS=" มันจะเพิ่มส่วนประกอบที่พบโดยพารามิเตอร์บรรทัดคำสั่ง "/NeedDLL=" ไปยังรายการการติดตั้ง
เพิ่ม "ธีมสีเข้ม" - ขึ้นอยู่กับธีมที่คุณใช้ (W10/W11) หากเปิดใช้งาน - มันจะกลับสี หรือวิธีอื่นที่ใช้สีของหน้าต่างของคุณ
ลบส่วนการสร้างการถอนการติดตั้งในรีจิสทรีระบบปฏิบัติการ และลบสวิตช์บรรทัดคำสั่ง /Portable ออก
เพิ่ม "PreveiewOnTaskBarAW.isi" เพื่อแสดงให้คุณเห็นว่าโซลูชันของฉันทำงานได้โดยไม่มีปัญหาใดๆ ดังนั้น ตอนนี้คุณสามารถดูตัวอย่างหน้าต่าง/ข้อความตัวติดตั้งบนแถบงานได้แล้ว
อัปเดต VC++ 2022 เป็นเวอร์ชันล่าสุด
พารามิเตอร์บรรทัดคำสั่ง /Portable ข้ามการตรวจสอบการถอนการติดตั้งแบบเต็มครั้งแรก และข้ามการสร้างรายการถอนการติดตั้งในรีจิสทรีของระบบปฏิบัติการ โปรดจำไว้ว่าตัวเลือกการอัปเดตอัตโนมัติจะไม่ลบรันไทม์เก่าที่ติดตั้งทั้งหมด แต่จะลบรันไทม์สุดท้ายเท่านั้น ดังนั้น หากต้องการลบรายการที่ซ้ำซ้อนทั้งหมดในส่วนถอนการติดตั้ง คุณจะต้องถอนการติดตั้งรายการทั้งหมดแล้วติดตั้งอีกครั้ง
จากนี้ไป คุณสามารถใช้เป็นตัวติดตั้ง InnoSetup มาตรฐานพร้อมพารามิเตอร์ InnoSetup มาตรฐาน (/TYPE=type name & /COMPONENTS="รายการชื่อส่วนประกอบที่คั่นด้วยเครื่องหมายจุลภาค") หรือคุณสามารถใช้พารามิเตอร์ที่กำหนดไว้ล่วงหน้า ซึ่งสามารถพบได้ใน: "เมนู " (ปุ่มบนหน้าส่วนประกอบ) -> "พารามิเตอร์?" (และคลิกที่ปุ่มนี้อีกสองสามครั้ง)
และตัวติดตั้งจะส่งคืนจำนวนการดำเนินการที่ทำในกระบวนการถอนการติดตั้ง/การติดตั้งเป็นโค้ดส่งคืน/โค้ดออก แต่เนื่องจากรหัสข้อผิดพลาดภายใน InnoSetup อยู่เหนือศูนย์ (และฉันไม่สามารถเปลี่ยนแปลงได้โดยไม่ต้องคอมไพล์ซอร์สโค้ดใหม่) จึงส่งคืนจำนวนการดำเนินการที่ทำได้ต่ำกว่าศูนย์ ตัวอย่างเช่น exit-code 0 ใน Update (Auto-Update) หมายความว่าไม่ต้องอัปเดตสิ่งใด ไลบรารีรันไทม์ทั้งหมดอยู่ในเวอร์ชันปัจจุบัน และ exit-code -1 หมายความว่ามีการดำเนินการหนึ่งครั้งในกระบวนการถอนการติดตั้งและ/หรือการติดตั้ง (ขึ้นอยู่กับตัวเลือกของคุณ) และอื่น ๆ...
หากคอมพิวเตอร์ของคุณมีทรัพยากรเหลือน้อย หรือการ์ดแสดงผลอ่อนแอ หรือคุณไม่สนใจข้อความบันทึกของ MSI คุณสามารถเพิ่มพารามิเตอร์บรรทัดคำสั่ง /Silent ซึ่งจะแจ้งให้โปรแกรมติดตั้ง InnoSetup ไม่แสดงข้อความบันทึก "Microsoft Software Installer" (MSI) บนหน้าการติดตั้ง ซึ่งจะช่วยเร่งเวลาการติดตั้ง (เล็กน้อย)
ฉันสร้างตัวติดตั้งใหม่ทั้งหมดและเพิ่มรันไทม์ VC++ ปี 2022
หากคุณเลือก VC++ เวอร์ชัน 2022 สำหรับการติดตั้ง หรือใช้พารามิเตอร์บรรทัดคำสั่ง /SelectVcVersion="2022" และคุณจะระบุส่วนประกอบที่จะติดตั้งใน /COMPONENTS="x642015 allowance,x862017minimum" (ตัวอย่าง ) โปรแกรมติดตั้งจะแทนที่ "2015" และ "2017" สำหรับเวอร์ชัน VC++ ที่เลือก เช่น "2022" และจะเลือก ส่วนประกอบที่ถูกต้องสำหรับการติดตั้ง เช่นเดียวกัน หากคุณเลือกเวอร์ชัน VC++ อื่นสำหรับการติดตั้ง และคุณเลือกส่วนประกอบอื่นที่จะติดตั้งนอกเหนือจาก VC++ ที่เลือก ในกลุ่มปี 2015, 2017, 2019 และ 2022