ความแตกต่างระหว่างไฟล์สั่งการแบบสแตนด์อโลนและไฟล์สั่งการที่ติดตั้งไว้?


17

อย่างน้อยฉันก็สังเกตเห็นบน Windows ว่าคุณสามารถดาวน์โหลดไฟล์ปฏิบัติการโดยตรงที่เชื่อมโยงแบบสแตติกและเปิดใช้โดยตรงหรือเขียนโปรแกรมของคุณเองและปฏิบัติการได้ (แม้จะเป็นแบบไดนามิก) โดยไม่ต้องติดตั้ง

นั่นนำฉันมาถึงจุดสำคัญของฉัน ... อะไรคือจุดประสงค์ของกระบวนการติดตั้ง? ผมหมายถึงนอกจากนี้อาจจะรีจิสทรีของ Windows อย่างไรก็ตามเพื่อประโยชน์ในทางปฏิบัติและการใช้งานเป็นไปได้ที่จะมีโปรแกรมเดี่ยวอิสระแยกต่างหากที่สามารถเรียกใช้จัดเก็บในที่จัดเก็บข้อมูลที่ไม่ลบเลือนและเข้าถึงได้ผ่านระบบแฟ้มของอุปกรณ์ใด ๆ ที่เปิดใช้งานและดำเนินการบนระบบปฏิบัติการ ดังนั้นเรื่องใหญ่ของธุรกิจ "ติดตั้งนี้" คืออะไรหากมีโปรแกรมที่ยอดเยี่ยมมากมายที่สามารถทำงานได้อย่างสมบูรณ์แบบโดยไม่ต้องผ่านการติดตั้ง มันเป็นปริศนาให้ฉันเล็กน้อยและนอกเหนือจากฐานข้อมูลหรือระบบการกำหนดค่าเมตาดาต้า / การเข้าถึงอื่น ๆ แล้วอะไรคือความแตกต่างที่แท้จริงที่นี่ถ้าสิ่งหลัง (ปฏิบัติการที่ติดตั้งไว้) ทำงานและทำงานในลักษณะเดียวกับสแตนด์อะโลน?

มีความแตกต่างที่นี่ฉันไม่รู้ด้วยโปรแกรมที่ไม่ได้ติดตั้งเมื่อเทียบกับที่ติดตั้งหรือไม่

PS: มันไม่เพียงแค่นำไปใช้กับระบบปฏิบัติการ Windows เท่านั้น แต่สิ่งใดก็ตามที่ใช้ฟังก์ชั่นที่คล้ายกัน

คำตอบ:


16

มีสาเหตุหลายประการที่โปรแกรมมาเป็นตัวติดตั้งแทนที่จะเรียกใช้งานแบบสแตนด์อโลน:

ความกังวลเกี่ยวกับขนาดไฟล์

  • โปรแกรมที่มีการพึ่งพาขนาดใหญ่จำนวนมากสามารถรวมตัวติดตั้งบนเว็บที่ดาวน์โหลดการพึ่งพาและวางไว้ในตำแหน่งทั่วไปเพื่อให้สามารถใช้ร่วมกันได้โดยหลายโปรแกรม ตัวอย่างเช่น DirectX เป็นห้องสมุดที่มีขนาดใหญ่มาก หากทุกโปรแกรมในระบบของคุณที่ขึ้นอยู่กับ DirectX เพียงรวมรันไทม์ DirectX ทั้งหมดเข้าด้วยกันมันจะกินเนื้อที่เล็กน้อย สิ่งนี้อาจดูเหมือนว่าไม่สำคัญกับอายุฮาร์ดดิสก์ 4 TB แต่พิจารณาว่า SSD นั้นมีความจุน้อยกว่ามากและใช้งานร่วมกับ ultrabook บางตัวมีพื้นที่จัดเก็บน้อยถึง 64 GB และแน่นอนว่ายังมีห้องสมุดสาธารณะอื่น ๆ อีกมากมายนอกเหนือจาก DirectX

  • โปรแกรมที่มีทั้งขนาดใหญ่มากและได้รับการปรับปรุงอย่างต่อเนื่องจะมีการแจกจ่ายที่ดีที่สุดในรูปแบบของไฟล์ขนาดเล็กจำนวนมากพร้อมกับตัวเรียกใช้งานหรือโปรแกรมตัวอัปเดตที่ตรวจสอบอินเทอร์เน็ตเพื่อรับการอัปเดต หากโปรแกรมขนาดใหญ่ทั้งหมดถูกจัดส่งเป็นไฟล์ประมวลผลแบบเสาหินเดียวมันเป็นไปได้มากที่กระบวนการแพตช์จะต้องดาวน์โหลดไฟล์ปฏิบัติการทั้งหมดอีกครั้งเนื่องจากการแพตช์ไฟล์ปฏิบัติการที่รันบนดิสก์นั้นเป็นไปไม่ได้เนื่องจากล็อคไฟล์ นอกจากนี้เนื่องจากตัวอัปเดตจำเป็นต้องทราบว่าไฟล์อยู่ที่ไหนมันมักจะเก็บเส้นทางไดเรกทอรีนั้นในตำแหน่งที่เป็นที่รู้จักในรีจิสทรี

ความกังวลเกี่ยวกับความสะดวกของผู้ใช้

  • โปรแกรมติดตั้งสำหรับโปรแกรมที่มีขนาดใหญ่มากเช่น Visual Studio และ Microsoft Office อนุญาตให้ผู้ใช้ยกเลิกการเลือกการติดตั้งคุณลักษณะบางอย่างหากผู้ใช้รู้ว่าไม่จำเป็นต้องใช้ สิ่งนี้มีประโยชน์ 3 ประการ: ลดการใช้พื้นที่ดิสก์ สามารถลดเวลาในการดาวน์โหลดและการใช้แบนด์วิดท์ได้หากตัวติดตั้งเป็นตัวดาวน์โหลดเว็บ และสามารถลด "ความยุ่งเหยิง" และ "ขยาย" ในเครื่องของผู้ใช้เมนูทางลัดเริ่มต้น / ทางลัดบนเดสก์ท็อปน้อยลงโปรแกรมเริ่มต้นน้อยลง ฯลฯ

  • โปรแกรมติดตั้งสำหรับโปรแกรมที่ซับซ้อนมักจะมาพร้อมกับตัวเลือกการกำหนดค่าที่ผู้ใช้สามารถตั้งค่าโดยใช้ส่วนต่อประสานกราฟิกที่ใช้งานง่ายเป็นส่วนหนึ่งของโปรแกรมติดตั้ง ดูตัวอย่างตัวติดตั้ง MySQL หรือ SQL Server ซึ่งสามารถนำคุณผ่านกระบวนการทั้งหมดในการทำให้เซิร์ฟเวอร์ฐานข้อมูลของคุณทำงานก่อนที่คุณจะคลิก "เสร็จสิ้น" บนตัวติดตั้ง

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

ความกังวลเกี่ยวกับความเข้ากันได้

  • บางโปรแกรมขัดแย้งกับโปรแกรมอื่น นี่คือข้อเท็จจริงที่เรียบง่ายและโชคร้ายของวิศวกรรมซอฟต์แวร์ ก่อนที่จะติดตั้งโปรแกรมที่ทราบว่ามีข้อขัดแย้งกับโปรแกรมอื่น ๆ บ่อยครั้งจะเป็นประโยชน์ในการตรวจสอบระบบก่อนเพื่อดูว่ามีการติดตั้งโปรแกรมที่เข้ากันไม่ได้หรือไม่ ผู้ใช้สามารถแจ้งเตือนถ้าเป็นเช่นนั้น ตัวอย่างเช่นมีความเข้ากันไม่ได้ที่เป็นอันตรายมากใน VMware และ VirtualBox เวอร์ชันเก่าซึ่งส่งผลให้ Blue Screen of Death เนื่องจากโปรแกรมหนึ่งพยายามใช้คำสั่ง virtualization processor พิเศษหลังจากที่สงวนไว้สำหรับผู้ใช้โดยผลิตภัณฑ์อื่นแล้ว . หากคุณเพียงแค่มอบผลิตภัณฑ์ขั้นสุดท้ายให้กับผู้ใช้โดยไม่มีโปรแกรมติดตั้งคุณจะต้องตรวจสอบว่ามีผลิตภัณฑ์ที่เข้ากันไม่ได้ในทุก ๆ เริ่มต้นโปรแกรมของคุณซึ่งอาจทำให้การเริ่มต้นโปรแกรมช้าลง

  • โปรแกรมอาจมีการพึ่งพาส่วนประกอบของระบบอื่น ๆ ที่สามารถติดตั้งได้ในระดับระบบเท่านั้นไม่ใช่ระดับต่อผู้ใช้ ในการติดตั้งส่วนประกอบของระบบพิเศษเหล่านี้จำเป็นต้องมีสิทธิ์ระดับผู้ดูแลระบบและโดยปกติจะต้องติดตั้งโปรแกรม

ยกระดับสิทธิพิเศษและบริการพิเศษ

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

เมื่อให้เหตุผลเหล่านี้ทั้งหมดว่าทำไมตัวติดตั้งจึงมีประโยชน์ต่อไปนี้เป็นข้อสังเกตเล็กน้อยจากอีกด้านหนึ่ง:

  • โปรแกรมหลายโปรแกรมแม้แต่โปรแกรมที่มีให้ดาวน์โหลดเป็นตัวติดตั้งที่ต้องการสิทธิ์ของผู้ดูแลระบบสามารถบังคับ "unpacked" จากโปรแกรมติดตั้งและรันโดยตรงโดยไม่ต้องติดตั้ง โปรแกรมอื่น ๆ โดยเฉพาะอย่างยิ่งคนที่เปิดมาได้รับการบรรจุใหม่ลงใน executables ตนเองที่มีอยู่โดยPortableApps เป็นที่น่าสังเกตว่าบางโปรแกรมเมื่อแกะออกจากตัวติดตั้งจะลดฟังก์ชันการทำงานแสดงข้อผิดพลาดหรือปัญหาอื่น ๆ

  • บนระบบปฏิบัติการอื่นที่ไม่ใช่ Windows เกือบจะเป็นไปได้ที่จะดาวน์โหลดโปรแกรม (หรือรวบรวม) และเรียกใช้ในฐานะผู้ใช้ปกติโดยไม่ต้องรับรูท มีข้อยกเว้นบางประการเกี่ยวกับแพ็กเกจที่เป็นส่วนหลักของระบบปฏิบัติการ แต่สำหรับแอปพลิเคชันผู้ใช้ส่วนใหญ่คุณสามารถเรียกใช้ในโฮมไดเร็กตอรี่ของคุณโดยไม่ต้องติดตั้งทั้งระบบโดยใช้ตัวจัดการแพคเกจ Windows เป็นกรณีพิเศษเล็กน้อยที่โปรแกรมเดสก์ท็อปส่วนใหญ่ใน Windows มีตัวติดตั้งและมักจะไม่สามารถติดตั้งด้วยวิธีอื่นได้

  • แม้บนแพลตฟอร์มที่ไม่ใช่ Windows โปรแกรมที่ต้องการความสามารถในการโหลดโมดูลเคอร์เนลจะมาพร้อมกับตัวติดตั้งบางประเภทซึ่งจะรวบรวมโมดูลเคอร์เนลและติดตั้งในไดเรกทอรีที่ถูกต้อง นอกจากนี้คุณยังสามารถคาดหวังที่จะเห็นการติดตั้งในกรณีที่โปรแกรมเป็นภูต/etc/init.dที่จะเริ่มต้นการใช้สคริปต์บริการของระบบเช่นใน "shrinkwrapped binary" ประเภทนี้เป็นวิธีการแจกจ่ายที่พบได้น้อยกว่าบน GNU / Linux แต่การแจกจ่าย Linux ส่วนใหญ่ยังคงให้ซอฟต์แวร์ส่วนใหญ่ในรูปแบบของแพ็คเกจที่ติดตั้งได้ซึ่งแต่ละวิธีนั้นต้องมีการเข้าถึงรูท


สรุปผลการวิจัย

คุณถามว่าทำไมเราต้องติดตั้ง คำตอบสั้น ๆ คือเราไม่ - ไม่พูดอย่างเคร่งครัด มีตัวอย่างไม่กี่เต็มทีของการใช้งานที่มีความสามารถไม่ได้ในหลักการที่จะรวมเป็นตนเองมีปฏิบัติการที่มีทรัพยากรที่ไม่มีการติดตั้งเดียวไม่ ฯลฯ แม้สิ่งที่ซับซ้อนเป็น VMware Workstation โดยอัตโนมัติจะได้รับสิทธิ์ผู้ดูแลระบบเขียนไฮเปอร์ไวเซอร์เคอร์เนลโมดูลออก ไปยังไฟล์บนดิสก์และติดตั้งแบบไดนามิกเมื่อเริ่มต้นโปรแกรมและจัดส่งทรัพยากรทั้งหมด (รูปภาพเสียงและอื่น ๆ ) รวมอยู่ในส่วนข้อมูลของปฏิบัติการ

การใช้โปรแกรมติดตั้งหรือไม่เป็นตัวเลือกที่ผู้ผลิตซอฟต์แวร์ต้องทำ มีข้อดีและข้อเสียในการใช้โปรแกรมติดตั้ง ผู้ค้าหลายรายเลือกที่จะแจกจ่ายซอฟต์แวร์ของพวกเขาทั้งในฐานะที่เป็นตัวติดตั้งและในฐานะไบนารีแบบสแตนด์อโลนหรืออย่างน้อยก็เป็นไฟล์ ZIP ที่สามารถแตกไฟล์และรันได้ สำหรับซอฟต์แวร์ที่ไม่ต้องใช้ตัวติดตั้งนี่เป็นวิธีที่ใช้งานได้จริงและทำให้ทุกคนมีความสุข โดยปกติแล้วซอฟต์แวร์ที่ไม่ได้จัดส่งในรูปแบบอื่นนอกเหนือจากที่มีตัวติดตั้งคือซอฟต์แวร์ที่ต้องการสิทธิ์ระดับผู้ดูแลระบบในการติดตั้งส่วนประกอบบางส่วนของตัวเองเนื่องจากตัวติดตั้งเป็นวิธีที่หรูหราที่สุดในการขอรับสิทธิ์พิเศษที่จำเป็น

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


คำตอบที่ยอดเยี่ยม แต่การเปิด DirectX และ runtime ของคุณไม่สมเหตุสมผล ก่อนอื่นรันไทม์ของ DirectX เพียงอย่างเดียวนั้นอยู่ในภาษาที่เขียนขึ้นเองซึ่งก็คือ C.

@TomTurkey อืม ... อะไรนะ? ทำไมมันถึงมีความสำคัญต่อภาษาที่ใช้เขียน? แน่นอนว่าคุณสามารถเชื่อมโยงส่วนประกอบ DirectX ใด ๆ ที่คุณต้องการโดยตรงไปยังปฏิบัติการของคุณได้ แต่อย่างที่ฉันบอกไปนั่นเป็นปัญหาขนาดไฟล์ถ้าหลาย ๆโปรแกรมเริ่มทำเช่นนี้กับไลบรารีขนาดใหญ่ (Qt 4.x เป็นต้น) ทำงานประมาณ 40 MB ) รหัสต้องอยู่ที่ใดที่หนึ่งและคุณไม่สามารถคาดเดาได้ว่าเวอร์ชั่น DirectX ที่คุณต้องการติดตั้งไว้แล้วในระบบหรือคุณจะได้รับข้อผิดพลาดเมื่อมีคนเปิดโปรแกรมของคุณบน Windows XP SP2 ที่ยังไม่ได้รับการติดตั้ง ทุกเพศทุกวัย
allquixotic

4
โอ้ฉันคิดว่าคุณเข้าใจผมผิด - ในคำตอบของฉันฉันไม่ได้พูดคุยเกี่ยวกับการติดตั้ง DirectX ตัวเอง ; ฉันกำลังพูดถึงการติดตั้งโปรแกรมที่ขึ้นอยู่กับ DirectX คุณสามารถรวบรวม DirectX โดยตรงในแอปพลิเคชันของคุณซึ่งเป็นการเพิ่มการใช้พื้นที่ดิสก์ที่สูญเปล่าหรือคุณสามารถรวมแอพเล็ก ๆ น้อย ๆ ในตัวติดตั้งของคุณเพื่อตรวจสอบว่าคุณติดตั้ง DirectX runtimes ที่เหมาะสมหรือไม่ วางไว้ในตำแหน่งระบบส่วนกลาง หลังมีประสิทธิภาพมากขึ้นในแง่ของพื้นที่ดิสก์และขนาดการดาวน์โหลด
allquixotic

3
@allquixotic ยังอนุญาตให้ใช้สิทธิ์ บางครั้งไลบรารีอาจไม่ได้รับอนุญาตให้เผยแพร่ซ้ำโดยไม่ขึ้นอยู่กับตัวติดตั้ง DirectX อาจอยู่ในหมวดหมู่ฉันไม่แน่ใจ ฉันคิดว่ากรอบ NET. ไม่ใช่ข้อ จำกัด ทางเทคนิค แต่เป็นข้อกฎหมาย (กรอบงาน. NET มีข้อ จำกัด ทางเทคนิคเพิ่มเติม แต่มันค่อนข้างรวมเข้ากับระบบปฏิบัติการอย่างแน่นหนา)
Bob

1
ล่อ เสียงของความคิดเห็นที่ถูกโหวตขึ้น ในหัวของฉัน.
allquixotic

3

กระบวนการติดตั้งพิจารณารายการเหล่านี้:

  1. ไม่ว่าคุณจะต้องติดตั้งไลบรารี่ (api) เช่นเวอร์ชัน. net Framework หรือ direct X

  2. ติดตั้งไฟล์ DLL ระบบพิเศษบางอย่างลงในโฟลเดอร์ระบบ หากโฟลเดอร์ระบบมีไฟล์เหล่านี้อยู่แล้ว (เวอร์ชั่นเดียวกัน) ให้ข้ามขั้นตอนนี้ไป วิธีนี้คุณไม่จำเป็นต้องใช้ไฟล์ DLL เดียวกันหลายชุด

  3. ติดตั้งทางลัดในเมนูเริ่มหรือเดสก์ท็อปของคุณเพื่อช่วยให้คุณเริ่มแอปพลิเคชันได้อย่างรวดเร็ว

  4. ดังที่คุณกล่าวไว้การแก้ไขรีจิสทรี ขั้นตอนนี้สามารถทำได้จริงเมื่อแอปพลิเคชันถูกเรียกใช้ครั้งแรกในคอมพิวเตอร์เครื่องนี้ดังนั้นจึงไม่สำคัญเป็นพิเศษ

  5. สำคัญมาก: ไม่ว่าจะรวมซอฟต์แวร์ (เช่นแถบเดสก์ท็อปของ Google หรือแถบของ Yahoo! ให้เป็น IE ของคุณ) นี่เป็นวิธีที่ซอฟต์แวร์อิสระจำนวนมากสร้างรายได้ให้กับนักพัฒนา อย่าลืมว่าถ้าคุณใช้ซอฟต์แวร์ฟรี

เนื่องจากเรากำลังพิจารณาแอปพลิเคชัน "ปฏิบัติการ" เราไม่จำเป็นต้องพูดถึงขั้นตอนเหล่านั้นที่สามารถติดตั้ง IE Add-on หรือสิ่งที่เกี่ยวข้อง


3

โปรแกรมสแตนด์อะโลนไม่มีการอ้างอิงภายนอก

ไม่จำเป็นต้องเป็นไฟล์. exe เท่านั้นมันสามารถมีไลบรารีและไฟล์ข้อมูลที่แนบมาได้: แกะไฟล์เก็บถาวรลงในโฟลเดอร์และเรียกใช้ไฟล์ปฏิบัติการ หากคุณเพียงแค่คลายไฟล์เก็บถาวรจะไม่มีการเพิ่มทางลัดไปยังเมนูเริ่มดังนั้นคุณจะต้องนำทางไปยังโฟลเดอร์ที่มีแอปพลิเคชั่นที่เปิดอยู่และเริ่มจากที่นั่นหรือสร้างทางลัดด้วยตนเองในเมนูเริ่ม ผู้ใช้คอมพิวเตอร์หลายคนพบว่ามันยาก

ใช้ง่ายขึ้น

ตัวติดตั้งจะแนะนำผู้ใช้ตลอดกระบวนการติดตั้ง คุณดาวน์โหลดตัวติดตั้ง, .exe หรือ. msi (เวอร์ชั่นก่อนจะดีกว่าสำหรับผู้ใช้ที่ไม่ได้ใช้ขั้นสูง) และเรียกใช้ มันหยิบโฟลเดอร์การติดตั้งซึ่งโดยปกติจะProgram Filesคัดลอกไฟล์สร้างทางลัดในเมนูเริ่ม คุณทำเสร็จแล้ว: ในกรณีส่วนใหญ่คุณเพียงคลิกถัดไปหลายครั้ง

จากนั้นไปที่เมนู Start และเรียกใช้แอปพลิเคชัน โปรแกรมติดตั้งบางตัวมีตัวเลือกให้เริ่มแอปพลิเคชั่นเมื่อการติดตั้งเสร็จสมบูรณ์

หากแอปพลิเคชันเปิดไฟล์หรือเอกสารบางประเภทตัวติดตั้งจะทำการลงทะเบียนกับเชลล์ เพื่อให้คุณสามารถคลิกไฟล์เพื่อเปิด

ข้อตกลงใบอนุญาต

แอปพลิเคชั่นมากมายทั้งที่เป็นแอพพลิเคชั่นและฟรีต้องให้คุณยอมรับข้อตกลงสิทธิ์ใช้งานก่อนที่คุณจะสามารถใช้แอปพลิเคชันของพวกเขาได้ การติดตั้งจะไม่ดำเนินการจนกว่าคุณจะยอมรับว่าคุณยอมรับข้อกำหนดของใบอนุญาต แม้ว่าคุณจะไม่ได้อ่านใบอนุญาต แต่คุณก็เห็นด้วย

การอ้างอิง

บางครั้งการคัดลอกไฟล์ที่ใช้งานได้ไม่เพียงพอ แอปพลิเคชันมักใช้คอมโพเนนต์ที่ใช้ร่วมกันหรือไลบรารีรันไทม์พิเศษ ตัวอย่างเช่น. Net Framework รันไทม์ต้องติดตั้งเพื่อรันแอ็พพลิเคชันที่เขียนสำหรับ. Net; แม้กระทั่งรันไทม์ Visual C ++ หากยังไม่ได้เชื่อมโยงแบบคงที่จะต้องติดตั้ง ตัวติดตั้งจะดูแลให้มั่นใจว่าการพึ่งพาทั้งหมดนั้นเป็นไปตามที่พึงพอใจ

หากแอปพลิเคชันประกอบด้วยไฟล์. exe และ / หรือ. dll หลายไฟล์การลิงก์แบบไดนามิกไปยังรันไทม์ Visual C ++ จะช่วยลดพื้นที่ดิสก์ หาก. exe และ. dll มีการเชื่อมโยงแบบคงที่ดังนั้นรันไทม์จะถูกทำซ้ำในแต่ละไฟล์

ข้อกำหนดสิทธิ์การใช้งานของไลบรารีอาจไม่อนุญาตให้มีการเชื่อมโยงทางสถิติ

ความปลอดภัย

หากพบช่องโหว่ในรันไทม์สามารถอัปเดตแยกต่างหากจากแอปพลิเคชัน การอัพเดตรันไทม์. Net และ Visual C ++ จะถูกติดตั้งโดยอัตโนมัติผ่านทาง Windows Update

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

การติดตั้งเพื่อProgram Filesให้สภาพแวดล้อมที่ปลอดภัยยิ่งขึ้น: ไฟล์ที่ไม่สามารถแก้ไขหรือลบได้โดยไม่ต้องใช้สิทธิ์ผู้ดูแลระบบ

Registry

แอปพลิเคชัน Windows จำนวนมากใช้รายการในรีจิสทรี หากแอปพลิเคชันใช้ COM วัตถุทั้งหมดจะต้องลงทะเบียนไม่เช่นนั้นแอปพลิเคชันจะไม่สามารถสร้างวัตถุที่ต้องการและจะไม่เริ่มทำงาน


1
+1 สำหรับการอัปเดตความปลอดภัยขององค์ประกอบที่ใช้ร่วมกัน - ฉันไม่คิดว่าจะเขียนสิ่งนั้นในคำตอบของฉัน
allquixotic

0

คำตอบสั้น ๆ : exe แบบสแตนด์อโลนไม่จำเป็นต้องติดตั้งไลบรารีบนคอมพิวเตอร์เพื่อเรียกใช้และไม่จำเป็นต้องมีรายการรีจิสตรีหรือส่วนประกอบอื่น ๆ

ไฟล์ที่ติดตั้งสามารถเป็นแบบสแตนด์อะโลนในแพ็คเกจการติดตั้ง แต่โดยทั่วไปจะขึ้นอยู่กับส่วนประกอบและไลบรารีที่ติดตั้งไว้ข้างๆ

ในหลายกรณีผ่านUniversal Extractor (อัพเดตอย่างไม่เป็นทางการ: ที่นี่ ) คุณสามารถแตกเนื้อหาของตัวติดตั้งและรันโปรแกรมโดยไม่ต้องมีสิทธิพิเศษระดับผู้ดูแลระบบใน windows ติดตั้ง MSI สามารถห่อด้วยlessmsi

ในระบบปฏิบัติการอื่น ๆ ส่วนใหญ่โปรแกรมทั้งหมดสามารถรันได้โดยไม่ต้องมีสิทธิ์ของ root / ผู้ดูแลระบบผ่าน 'bin', 'lib' และไดเรกทอรีอื่น ๆ ในไดเรกทอรีหลัก ส่วนตัวฉันดูถูกคนติดตั้งส่วนใหญ่เพราะพวกเขาทำให้ฉันยากที่จะใช้โปรแกรมโดยไม่ต้องใช้สิทธิ์การดูแลระบบเมื่อฉันไม่มีพวกเขา แต่ บริษัท เหล่านี้บรรจุหีบห่อด้วยวิธีดังกล่าวเพื่อให้กระบวนการขนาดใหญ่สำหรับผู้ใช้ทั่วไปง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.