ในตัวช่วยสร้างโซลูชัน Access เขตข้อมูลรหัสผลิตภัณฑ์คือ GUID ที่เป็นรหัสหลักของแอปพลิเคชันหรือผลิตภัณฑ์
-
การอัปเดตสามารถขยายหรือลดโครงสร้างคอมโพเนนต์ฟีเจอร์ได้ แต่ต้องไม่จัดระเบียบลําดับชั้นของฟีเจอร์และคอมโพเนนต์ที่มีอยู่ที่อธิบายโดยตาราง Feature และ FeatureComponents ใหม่ ซึ่งสามารถเพิ่มคุณลักษณะใหม่ให้กับแผนภูมิส่วนประกอบคุณลักษณะที่มีอยู่ หากลบฟีเจอร์หลัก ออก ฟีเจอร์ดังกล่าวจะต้องลบฟีเจอร์ย่อยทั้งหมดของฟีเจอร์ที่ถูกเอาออกด้วย
-
การอัปเดตสามารถเพิ่มคอมโพเนนต์ใหม่หรือฟีเจอร์ใหม่หรือฟีเจอร์ที่มีอยู่
-
การอัพเดตต้องไม่เปลี่ยนรหัสส่วนประกอบของส่วนประกอบใดๆ ดังนั้น การอัปเดตขนาดเล็กหรือการอัปเกรดรองต้องไม่เปลี่ยนชื่อของไฟล์คีย์ของคอมโพเนนต์เนื่องจากจะต้องเปลี่ยนรหัสคอมโพเนนต์
-
โปรแกรมปรับปรุงต้องเปลี่ยนชื่อของแฟ้ม .msi ของแพคเกจการติดตั้ง เนื่องจากจะปรับเปลี่ยนแพคเกจ จึงควรเปลี่ยนรหัสแพคเกจ โปรดทราบว่าการอัปเดตสามารถเปลี่ยนตาราง การดําเนินการแบบกําหนดเอง และกล่องโต้ตอบในไฟล์ .msi ได้โดยไม่ต้องเปลี่ยนชื่อไฟล์
-
การอัปเดตสามารถเพิ่ม ลบ หรือปรับเปลี่ยนไฟล์ รีจิสทรีคีย์ หรือทางลัดของคอมโพเนนต์ที่ไม่ได้ใช้ร่วมกันโดยคุณลักษณะอย่างน้อยสองอย่าง ถ้าการอัปเดตปรับเปลี่ยนไฟล์เวอร์ชัน เวอร์ชันของไฟล์นั้นจะต้องเพิ่มขึ้นในตารางไฟล์ หากการอัปเดตลบทรัพยากร ออก คุณควรอัปเดตตาราง RemoveFile และ RemoveRegistry เพื่อลบไฟล์ที่ไม่ได้ใช้ รีจิสทรีคีย์ หรือทางลัดใดๆ ที่ติดตั้งไว้แล้ว
-
การอัปเดตของคอมโพเนนต์ที่ใช้ร่วมกันโดยคุณลักษณะตั้งแต่สองอย่างขึ้นไปต้องเข้ากันได้กับแอปพลิเคชันและคุณลักษณะทั้งหมดที่ใช้คอมโพเนนต์นั้น การอัปเดตสามารถปรับเปลี่ยนทรัพยากรของคอมโพเนนต์ที่ใช้ร่วมกัน เช่น ไฟล์ รายการรีจิสทรี และทางลัด ตราบใดที่การเปลี่ยนแปลงสามารถเข้ากันได้แบบย้อนหลัง ไม่แนะนําให้อัปเดตเพิ่มหรือลบไฟล์ รายการรีจิสทรี หรือทางลัดจากคอมโพเนนต์ที่แชร์
-
มีการจัดส่งการอัปเดตขนาดเล็กเป็นแพคเกจ Windows Installer (ซีดีรอมผลิตภัณฑ์แบบเต็มมักจะไม่มีในการปรับปรุงขนาดเล็ก)
ต้องเปลี่ยนรหัสผลิตภัณฑ์ หากรายการต่อไปนี้เป็นจริงสําหรับการอัปเดต:
-
ต้องมีการติดตั้งทั้งผลิตภัณฑ์เดิมและผลิตภัณฑ์ที่อัปเดตแล้วร่วมกันบนระบบเดียวกัน
-
เปลี่ยนชื่อของไฟล์ .msi แล้ว
-
รหัสส่วนประกอบของส่วนประกอบที่มีอยู่มีการเปลี่ยนแปลง
-
คอมโพเนนต์ถูกเอาออกจากฟีเจอร์ที่มีอยู่
-
ฟีเจอร์ที่มีอยู่ได้รับการทําให้เป็นฟีเจอร์ย่อยของฟีเจอร์ที่มีอยู่
-
ฟีเจอร์ลูกที่มีอยู่ถูกเอาออกจากฟีเจอร์หลัก
-
คอมโพเนนต์อาจถูกเพิ่มลงในฟีเจอร์ที่มีอยู่โดยไม่จําเป็นต้องเปลี่ยนรหัสผลิตภัณฑ์
หมายเหตุ: การเพิ่มฟีเจอร์ลูกใหม่ซึ่งประกอบด้วยคอมโพเนนต์ใหม่ทั้งหมด ไปยังฟีเจอร์ที่มีอยู่ไม่จําเป็นต้องเปลี่ยนรหัสผลิตภัณฑ์
ฟีเจอร์ลูกใหม่สามารถสร้างได้โดยรวมถึง msidbFeatureAttributesFollowParent และ msidbFeatureAttributesUIDisallowAbsent ในเขตข้อมูล แอตทริบิวต์ ของตาราง ฟีเจอร์ หากการอัปเกรดรองเพิ่มเฉพาะฟีเจอร์ใหม่สําหรับเด็กแล้ว REINSTALL=ALL ก็เพียงพอที่จะบังคับให้ติดตั้งฟีเจอร์ใหม่สําหรับเด็ก
ฟีเจอร์ลูกใหม่อาจถูกซ่อนจากผู้ใช้ เมื่อต้องการซิงโครไนซ์สถานะการติดตั้งของฟีเจอร์ลูกใหม่กับฟีเจอร์หลัก ให้ตั้งค่าบิต msidbFeatureAttributesFollowParent และ msidbFeatureAttributesUIDisallowAbsent สําหรับฟีเจอร์ลูก