Windows-Installer โดยใช้ Installshield: วิธีจับคู่การตั้งค่า ALLUSERS กับ Env Vars

ฉันกำลังสร้างแพ็คเกจการติดตั้งที่ใช้ MSI ด้วย Installshield Express 2011

ฉันต้องการตั้งค่าฟิลด์ ALLUSERS เป็น 2 ซึ่งหมายความว่ามีการพยายามติดตั้งต่อเครื่อง แต่หากไม่สามารถทำได้ จะทำการติดตั้งต่อผู้ใช้

แต่แพ็คเกจของฉันต้องสร้างตัวแปรสภาพแวดล้อมบางอย่างซึ่งต้องตั้งค่าเป็นตัวแปรระบบหรือผู้ใช้ ดูเหมือนว่าสิ่งเหล่านี้จะไม่ได้รับผลกระทบจากฟิลด์ ALLUSERS ดังนั้นหากมีการดำเนินการติดตั้งต่อผู้ใช้ โปรแกรมติดตั้งอาจพยายามตั้งค่าตัวแปรสภาพแวดล้อมของระบบซึ่งจะไม่เหมาะสม/ห้ามสำหรับการติดตั้งต่อผู้ใช้

มีวิธีใดใน Installshield ที่จะตั้งค่าตัวแปรสภาพแวดล้อมตามว่าเป็นการติดตั้งต่อผู้ใช้หรือต่อเครื่องหรือไม่

วิธีแก้ไขประการหนึ่งคือให้ตั้งค่า ALLUSERS เป็น "" ซึ่งจะทำให้การติดตั้งทุกครั้งเป็นแบบต่อผู้ใช้ อย่างไรก็ตาม การดำเนินการนี้ไม่เหมาะสำหรับสภาพแวดล้อมทางธุรกิจขนาดเล็กที่พนักงานแต่ละคนอาจเข้าสู่ระบบและคาดว่าจะสามารถใช้ผลิตภัณฑ์ได้




คำตอบ (2)


นี่คือตัวอย่างจากเอกสาร MSDN "หากสามารถติดตั้งแพ็คเกจต่อผู้ใช้หรือต่อเครื่องได้ ให้สร้างสององค์ประกอบ: (1) ส่วนประกอบต่อผู้ใช้ที่มีรายการตารางสภาพแวดล้อมที่เขียนขึ้นสำหรับการตั้งค่าผู้ใช้ และ (2) ส่วนประกอบต่อเครื่องพร้อมตารางสภาพแวดล้อมที่เขียนขึ้นสำหรับการตั้งค่าคอมพิวเตอร์ กำหนดเงื่อนไขการติดตั้งส่วนประกอบนี้โดยใช้คุณสมบัติสิทธิพิเศษ "

http://msdn.microsoft.com/en-us/library/windows/desktop/aa368369(v=vs.85).aspx

person Ciprian    schedule 08.12.2011

ในโปรเจ็กต์ Install Shield ภายใต้ 3 กำหนดค่าระบบเป้าหมาย จะมีขั้นตอนชื่อ ตัวแปรสภาพแวดล้อม

ป้อนคำอธิบายรูปภาพที่นี่

person Alejandro Serret    schedule 23.11.2016