คุณควรจัดเก็บข้อมูลใน Windows Registry เมื่อใดและทำไม


126

ในฐานะนักพัฒนาเครื่องมือที่เก็บการกำหนดค่า / ตัวเลือกต่างๆในรีจิสทรีถือเป็นสารพิษในชีวิตของฉัน ฉันไม่สามารถติดตามการเปลี่ยนแปลงของตัวเลือกเหล่านั้นได้อย่างง่ายดายไม่สามารถโอนจากเครื่องไปยังเครื่องได้อย่างง่ายดายและทั้งหมดนี้ทำให้ฉันรู้สึกโหยหาวันเก่า ๆ ที่ดีของไฟล์. INI ...

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


ตอนนี้ฉันทำงานกับแอปเดิมที่เก็บข้อมูลในรีจิสทรี (แอป. NET) และทำให้ฉันรู้สึกแย่
George Stocker

คำตอบ:


75
  • การกำหนดค่า (WIN3) เดิมถูกเก็บไว้ในไฟล์ WIN.INI ในไดเร็กทอรี windows
  • ปัญหา: WIN.INI ใหญ่เกินไป
  • โซลูชัน (Win31): ไฟล์ INI แต่ละไฟล์ในไดเร็กทอรีเดียวกับโปรแกรม
  • ปัญหา: โปรแกรมนั้นอาจติดตั้งบนเครือข่ายและมีคนจำนวนมากใช้ร่วมกัน
  • โซลูชัน (Win311): ไฟล์ INI แต่ละไฟล์ในไดเร็กทอรี Window ของผู้ใช้
  • ปัญหา: หลายคนอาจแชร์โฟลเดอร์ windows และควรเป็นแบบอ่านอย่างเดียวอยู่ดี
  • โซลูชัน (Win95): รีจิสทรีที่มีส่วนแยกกันสำหรับผู้ใช้แต่ละคน
  • ปัญหา: รีจิสทรีมีขนาดใหญ่เกินไป
  • โซลูชัน (WinXP): ข้อมูลส่วนบุคคลจำนวนมากถูกย้ายไปยังโฟลเดอร์ Application Data ของผู้ใช้เอง
  • ปัญหา: เหมาะสำหรับข้อมูลจำนวนมาก แต่ค่อนข้างซับซ้อนสำหรับจำนวนน้อย
  • โซลูชัน (.NET): ข้อมูลคงที่และอ่านอย่างเดียวจำนวนเล็กน้อยที่จัดเก็บในไฟล์. config (Xml) ในโฟลเดอร์เดียวกับแอปพลิเคชันโดยมี API เพื่ออ่าน (อ่าน / เขียนหรือข้อมูลเฉพาะของผู้ใช้อยู่ในรีจิสทรี)

16
Unix: config เก็บไว้ใน $ HOME / .y-app ที่นั่นแก้ไขได้ในการทำซ้ำครั้งเดียว
Leonel

33
โซลูชัน Unix อยู่ไกลจากอุดมคติเช่นกัน: $ HOME เต็มไปด้วยดอทไฟล์และคุณไม่รู้ว่าส่วนใหญ่ทำอะไร
grep

2
@Leonel XDG กำหนดว่าคุณควรใส่ไฟล์ config ของคุณไว้ข้างใน$HOME/.config/your-app/ซึ่งเป็นโซลูชันที่สร้างขึ้นเพื่อจัดการกับปัญหา @grep object ถึง และที่น่าแปลกใจคือ Linux ที่ทันสมัย ​​(และใครก็ตามใน * BSD ก็บ้าพอที่จะใช้ GNOME) ยังมีรีจิสทรีในgconfชุด FOSS เลือกสายพันธุ์ได้แน่นอน;)
new123456

1
@grep, Re " ไม่รู้ว่าส่วนใหญ่ทำอะไร " ทำไมไม่? นอกจากนี้การขยายตัวแทบจะไม่สามารถเทียบได้กับ Windows
Pacerier

16

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

ฉันมาจากโรงเรียนแห่งความคิดที่บอกว่าโปรแกรมควรรันได้จากทุกที่ที่ติดตั้งการติดตั้งควรเคลื่อนย้ายได้อย่างสมบูรณ์ภายในเครื่องหรือแม้แต่ไปยังเครื่องอื่นและไม่ส่งผลกระทบต่อการทำงานของโปรแกรม

อ็อพชันที่กำหนดค่าได้หรือ dll ที่ต้องการเป็นต้นหากไม่ได้แชร์ควรอยู่ในไดเร็กทอรีย่อยของไดเร็กทอรีการติดตั้งเพื่อให้ย้ายการติดตั้งทั้งหมดได้อย่างง่ายดาย

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


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

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

12

นโยบายของ Microsoft:

  • ก่อน windows 95 เราใช้ไฟล์ ini สำหรับข้อมูลแอปพลิเคชัน
  • ในยุค windows 95 - XP เราใช้รีจิสทรี
  • จาก windows Vista เราใช้ไฟล์ ini แม้ว่าตอนนี้จะใช้ xml แล้วก็ตาม

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


1
คุณสามารถให้ลิงก์ต้นฉบับไปยังเอกสารที่ระบุนโยบายของไมโครซอฟท์ได้หรือไม่ และเมื่อคุณพูดว่านโยบายคุณหมายความว่านี่คือสิ่งที่ Microsoft ทำหรือคุณหมายความว่านี่คือสิ่งที่ Microsoft แนะนำให้นักพัฒนาซอฟต์แวร์ที่สร้างแอปสำหรับ Windows
Cheeso

1
ps: raymond Chen จาก Microsoft ได้ระบุว่าไฟล์ INI ถูกเลิกใช้เพื่อประโยชน์ของ Registry และอธิบายสาเหตุ blogs.msdn.com/oldnewthing/archive/2007/11/26/6523907.aspxนอกจากนี้เขายังระบุว่าไฟล์ XML มีข้อเสียหลายประการเช่นเดียวกับไฟล์ ini
Cheeso

8
ไฟล์การตั้งค่า XML = ไฟล์ INI ที่แยกวิเคราะห์ได้ยากกว่า
Robert Fraser

3
@ เฟรเซอร์หากคุณคิดว่าการแยกวิเคราะห์ XML เป็นเรื่องยากคุณอยู่ในธุรกิจที่ไม่ถูกต้อง
SnakeDoc

@SnakeDoc, Harder ไม่ได้หมายความว่ายากขึ้น มันหมายถึงการแยกวิเคราะห์ที่ช้าลงและล่าช้า
Pacerier

12

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

ทำไม - ส่วนใหญ่เป็นเพราะรีจิสทรีไม่พกพาได้เหมือนกับการคัดลอกไฟล์กำหนดค่าที่อยู่ถัดจากแอปพลิเคชัน (และเรียกว่าเกือบจะเหมือนกัน)

หากคุณใช้. Net2 + แสดงว่าคุณมีไฟล์ App.Config และ User.Config และคุณไม่จำเป็นต้องลงทะเบียน DLL ในรีจิสทรีดังนั้นอย่าอยู่ห่างจากมัน

ไฟล์กำหนดค่ามีปัญหาในตัวเอง (ดูด้านล่าง) แต่ไฟล์เหล่านี้สามารถเข้ารหัสได้และคุณสามารถปรับเปลี่ยนสถาปัตยกรรมของคุณได้

  • ปัญหา: แอปพลิเคชันต้องการการตั้งค่าที่กำหนดค่าได้
  • วิธีแก้ไข: จัดเก็บการตั้งค่าในไฟล์ (WIN.INI) ในโฟลเดอร์ Windows - ใช้ส่วนหัวเพื่อจัดกลุ่มข้อมูล (Win3.0)
  • ปัญหา: ไฟล์ WIN.INI ใหญ่เกินไป (และยุ่ง)
  • วิธีแก้ไข: จัดเก็บการตั้งค่าในไฟล์ INI ไว้ในโฟลเดอร์เดียวกับแอปพลิเคชัน (Win3.1)
  • ปัญหา: ต้องการการตั้งค่าเฉพาะผู้ใช้
  • วิธีแก้ไข: จัดเก็บการตั้งค่าผู้ใช้ในไฟล์ INI เฉพาะผู้ใช้ในไดเร็กทอรี Window ของผู้ใช้ (Win3.11) หรือส่วนเฉพาะผู้ใช้ในไฟล์ INI ของแอปพลิเคชัน
  • ปัญหา: ความปลอดภัย - การตั้งค่าแอปพลิเคชันบางอย่างจำเป็นต้องอ่านอย่างเดียว
  • วิธีแก้ไข: รีจิสทรีที่มีการรักษาความปลอดภัยตลอดจนส่วนเฉพาะผู้ใช้และทั้งเครื่อง (Win95)
  • ปัญหา: รีจิสทรีมีขนาดใหญ่เกินไป
  • วิธีแก้ไข: รีจิสตรีเฉพาะผู้ใช้ย้ายไปที่ user.dat ในโฟลเดอร์ "Application Data" ของผู้ใช้เองและโหลดเฉพาะเมื่อเข้าสู่ระบบ (WinNT)
  • ปัญหา: ในสภาพแวดล้อมขององค์กรขนาดใหญ่คุณเข้าสู่ระบบหลายเครื่องและต้องตั้งค่าแต่ละเครื่อง
  • วิธีแก้ไข: แยกความแตกต่างระหว่างโปรไฟล์ภายใน (Local Settings) และโรมมิ่ง (ข้อมูลแอปพลิเคชัน) (WinXP)
  • ปัญหา: xcopy ใช้งานหรือย้ายแอปพลิเคชันไม่ได้เหมือนกับ. Net ที่เหลือ
  • วิธีแก้ไข: ไฟล์ APP.CONFIG XML ในโฟลเดอร์เดียวกับแอปพลิเคชัน - อ่านง่ายเคลื่อนย้ายง่ายเคลื่อนย้ายง่ายสามารถติดตามได้หากมีการเปลี่ยนแปลง (.Net1)
  • ปัญหา: ยังคงต้องจัดเก็บข้อมูลเฉพาะผู้ใช้ในลักษณะที่คล้ายกัน (เช่น xcopy deploy)
  • วิธีแก้ไข: ไฟล์ USER.CONFIG XML ในโฟลเดอร์โลคัลหรือโรมมิ่งของผู้ใช้และพิมพ์อย่างแน่นหนา (.Net2)
  • ปัญหา: ไฟล์ CONFIG เป็นแบบตรงตามตัวพิมพ์เล็กและใหญ่ (ไม่ใช้งานง่ายสำหรับมนุษย์) ต้องการ "แท็ก" แบบเปิด / ปิดที่เฉพาะเจาะจงมากไม่สามารถตั้งค่าสตริงการเชื่อมต่อในขณะทำงานได้โครงการติดตั้งไม่สามารถเขียนการตั้งค่าได้ (ง่ายเหมือนรีจิสตรี) ไม่สามารถระบุได้อย่างง่ายดาย ไฟล์ user.config และการตั้งค่าผู้ใช้จะถูกเป่าเมื่อมีการติดตั้งการแก้ไขใหม่แต่ละครั้ง
  • วิธีแก้ไข: ใช้สมาชิก ITEM เพื่อตั้งค่าสตริงการเชื่อมต่อที่รันไทม์เขียนโค้ดในคลาส Installer เพื่อเปลี่ยน App.Config ระหว่างการติดตั้งและใช้การตั้งค่าแอพพลิเคชั่นเป็นค่าเริ่มต้นหากไม่พบการตั้งค่าของผู้ใช้

นี่เป็นคำตอบที่สมบูรณ์มากกว่าคำตอบที่ได้รับอนุมัติ ขอบคุณ @AndrewD
rotman

8

โลกจะถึงจุดจบหรือไม่หากคุณเก็บตำแหน่งหน้าต่างสองสามตำแหน่งและรายการที่ใช้ล่าสุดในรีจิสทรีของ Windows? มันใช้งานได้สำหรับฉันจนถึงตอนนี้

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


และเป็นการดีที่ทำให้ตัวเองเสียหาย ... นั่นเป็นข้อดี งานน้อยลงสำหรับผู้ใช้ที่ต้องทำ ...
SnakeDoc

4

การตั้งค่าที่คุณต้องการให้มีอยู่ในโปรไฟล์การโรมมิ่งของผู้ใช้ควรอยู่ในรีจิสทรีเว้นแต่คุณจะต้องการใช้ความพยายามในการค้นหาโฟลเดอร์ข้อมูลแอปพลิเคชันของผู้ใช้ด้วยตนเอง :-)


4

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


2

หากคุณกำลังพัฒนาแอพใหม่และคุณสนใจเกี่ยวกับการพกพาคุณไม่ควรพลาดเก็บข้อมูลไว้ใน Windows Registry เนื่องจาก OS อื่นไม่มีรีจิสทรี (windows) (duh note - สิ่งนี้อาจชัดเจน แต่มักถูกมองข้าม)

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


นี่เป็นความจริงบางส่วน Mono ได้ใช้เนมสเปซ Microsoft.win32 สำหรับรีจิสเตอร์ - ยกเว้นว่าจะเก็บไว้ในไฟล์ใน ~ / .mono / Registry ในไฟล์ xml และจัดการอย่างโปร่งใส ตอนนี้ถ้าคุณสามารถเปิดการจัดการ xml สำหรับแอปใดก็ได้โดยไม่คำนึงถึงแพลตฟอร์ม ...
Robert P

หมายเหตุ: จะใช้ได้เฉพาะกับคุณหากคุณกำลังเขียนแอพ. NET / Mono
Robert P

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

2

นอกประเด็นเล็กน้อย แต่เนื่องจากฉันเห็นผู้คนกังวลเกี่ยวกับการพกพาวิธีที่ดีที่สุดที่ฉันเคยใช้คือคลาส QSettings ของ Qt เป็นนามธรรมการจัดเก็บการตั้งค่า (รีจิสทรีบน Windows, ไฟล์การกำหนดลักษณะ XML บน Mac OS และไฟล์ Ini บน Unix) ในฐานะลูกค้าของชั้นเรียนฉันไม่ต้องใช้วงจรสมองสงสัยเกี่ยวกับรีจิสทรีหรือสิ่งอื่นใดมันใช้งานได้ (tm)

http://doc.trolltech.com/4.4/qsettings.html#details


ดูเหมือนว่า url ไม่ทำงานอีกต่อไป ข้อมูลอ้างอิงการอัปเดตควรเป็นqt-project.org/doc/qt-5/QSettings.html#details
Eineki

0

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

ถ้าฉันดูที่โฟลเดอร์เอกสารและการตั้งค่าของฉันฉันเห็นโปรแกรมมากมายที่ใช้สัญลักษณ์ Unix dot สำหรับการตั้งค่าโฟลเดอร์: .p4qt .sqlworkbench .squirrel-sql.SunDownloadManager .xngr .antexplorer .assistant .CodeBlocks .dbvis .gimp-2.4 .jdictionary .jindent .jogl_ext (ฯลฯ )

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


สัญกรณ์จุด Unix ที่คุณเห็นอาจเป็นเพราะตัวอย่างทั้งหมดนั้นเป็นโครงการโอเพ่นซอร์สที่พอร์ตไม่ใช่เพราะเป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการพัฒนา Windows
James

อันที่จริงฉันไม่ได้บอกว่ามันเป็น "แนวทางปฏิบัติที่ดีที่สุด" แต่เป็นแนวทางปฏิบัติทั่วไป ... :) โฟลเดอร์ในข้อมูลแอปพลิเคชัน / เป็น / แนวทางปฏิบัติที่ดีที่สุดโดยเฉพาะอย่างยิ่งสำหรับข้อมูลขนาดใหญ่ แต่ยังสำรองได้ง่ายกว่าด้วย
ฟีลโฮ

0

โดยส่วนตัวแล้วฉันได้ใช้รีจิสทรีเพื่อจัดเก็บเส้นทางการติดตั้งเพื่อใช้โดยสคริปต์การติดตั้ง (ยกเลิก) ฉันไม่แน่ใจว่านี่เป็นทางเลือกเดียวที่เป็นไปได้หรือไม่ แต่ดูเหมือนเป็นวิธีแก้ปัญหาที่สมเหตุสมผล นี่เป็นแอพที่ใช้งานบน Windows เท่านั้น


0

ใน. NET นั้นไม่จำเป็นเลย

ต่อไปนี้เป็น 2 ตัวอย่างที่แสดงวิธีการใช้พร็อพเพอร์ตี้โครงการเพื่อดำเนินการนี้

ตัวอย่างเหล่านี้ทำได้โดย Windows User Project Properties แต่ Application ก็สามารถทำได้เช่นกัน

เพิ่มเติมที่นี่:

http://code.msdn.microsoft.com/TheNotifyIconExample

http://code.msdn.microsoft.com/SEHE


0

(ล่าช้าในการอภิปราย แต่) คำตอบสั้น ๆ : นโยบายกลุ่ม

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

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


-1

ฉันเชื่อว่า Windows Registry เป็นความคิดที่ดี แต่เนื่องจากการละเมิดอย่างมากจากผู้พัฒนาแอปพลิเคชันและนโยบายมาตรฐานที่ Microsoft ไม่สนับสนุน / ได้รับคำสั่งจาก Microsoft ทำให้กลายเป็นสัตว์ร้ายที่ไม่สามารถจัดการได้ ฉันเกลียดการใช้มันด้วยเหตุผลที่คุณพูดถึง แต่มีบางครั้งที่ใช้มัน:

  • ทิ้งร่องรอยของแอปพลิเคชันของคุณหลังจากถอนการติดตั้งแอปพลิเคชันของคุณแล้ว (เช่นจดจำการตั้งค่าของผู้ใช้ในกรณีที่มีการติดตั้งแอปพลิเคชันอีกครั้ง)
  • แบ่งปันการตั้งค่าการกำหนดค่าระหว่างแอปพลิเคชันต่างๆ - ส่วนประกอบ

5
ฉันไม่เห็นด้วยกับคุณเกี่ยวกับจุดแรกของคุณ "[l] การติดตามแอปพลิเคชันของคุณหลังจากถอนการติดตั้งแอปพลิเคชันของคุณแล้ว" ฉันอยากจะพูดว่า "ลบตัวเองออกจากระบบของฉัน" แสดงว่าแอปของคุณปฏิบัติตามอย่างสมบูรณ์ ฉันคิดว่ามันจะแตกต่างออกไปถ้าคุณถามผู้ใช้ว่าสามารถทิ้งบางสิ่งไว้ข้างหลังได้หรือไม่ แต่ถึงอย่างนั้นฉันก็อาจต้องการให้เป็นไฟล์กำหนดค่าที่บันทึกไว้ การออกใบอนุญาต ฯลฯ แม้ว่าคุณจะขายคอมพิวเตอร์และซื้อเครื่องใหม่คุณจะไม่อยากมีไฟล์การตั้งค่าที่คุณสามารถโหลดในการติดตั้งใหม่แทนที่จะเป็นสิ่งที่เชื่อมโยงกับคอมพิวเตอร์ที่คุณขายหรือไม่?
AgentConundrum

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

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