কখন - কেন - আপনার উইন্ডোজ রেজিস্ট্রিতে ডেটা সংরক্ষণ করা উচিত?


126

বিকাশকারী হিসাবে, নিবন্ধগুলিতে কনফিগারেশন / বিকল্পগুলি সঞ্চয় করে এমন সরঞ্জামগুলি আমার জীবনের নিষিদ্ধ। আমি সহজেই এই বিকল্পগুলির পরিবর্তনগুলি ট্র্যাক করতে পারি না, সহজেই মেশিন থেকে মেশিনে এগুলি পোর্ট করতে পারি না এবং এটি সবই আমাকে .II ফাইলের ভাল পুরানো দিনের জন্য সত্যই আকুল করে তোলে ...

আমার নিজের অ্যাপ্লিকেশনগুলি লেখার সময়, পুরানো configurationষধের কনফিগারেশন ফাইলগুলির চেয়ে রেজিস্ট্রি রাখার জন্য কী - যদি কিছু হয় - তবে আমার পছন্দ করা উচিত এবং কেন?


আমি এখনই একটি লিগ্যাসি অ্যাপ্লিকেশন নিয়ে কাজ করি যা রেজিস্ট্রিতে (.NET অ্যাপ্লিকেশন) তথ্য সংরক্ষণ করে এবং এটি আমাকে বাদাম দেয়।
জর্জ স্টিকার

উত্তর:


75
  • মূলত (WIN3) কনফিগারেশনটি উইন্ডোজ ডিরেক্টরিতে WIN.INI ফাইলে সংরক্ষণ করা হয়েছিল I
  • সমস্যা: WIN.INI খুব বড় হয়েছে।
  • সমাধান (Win31): প্রোগ্রাম হিসাবে একই ডিরেক্টরিতে পৃথক INI ফাইল।
  • সমস্যা: এই প্রোগ্রামটি কোনও নেটওয়ার্কে ইনস্টল করা হতে পারে এবং বহু লোক ভাগ করে নিতে পারে।
  • সমাধান (Win311): ব্যবহারকারীর উইন্ডো ডিরেক্টরিতে পৃথক INI ফাইল।
  • সমস্যা: অনেক লোক উইন্ডো ফোল্ডার ভাগ করতে পারে এবং এটি যেভাবেই পঠনযোগ্য।
  • সমাধান (Win95): প্রতিটি ব্যবহারকারীর জন্য পৃথক বিভাগ সহ রেজিস্ট্রি।
  • সমস্যা: রেজিস্ট্রি খুব বড় হয়েছে।
  • সমাধান (উইনএক্সপি): পৃথক ডেটার বৃহত ব্লকগুলি ব্যবহারকারীর নিজস্ব অ্যাপ্লিকেশন ডেটা ফোল্ডারে স্থানান্তরিত করে।
  • সমস্যা: প্রচুর পরিমাণে ডেটার জন্য ভাল তবে অল্প পরিমাণে জটিল।
  • সমাধান (। নেট): এপিআই পড়ার জন্য অ্যাপ্লিকেশন হিসাবে একই ফোল্ডারে .config (XML) ফাইলগুলিতে অল্প পরিমাণে স্থির, পঠনযোগ্য ডেটা সঞ্চয় করা। (পড়ুন / লিখুন বা ব্যবহারকারীর নির্দিষ্ট ডেটা রেজিস্ট্রিতে রয়েছেন)

16
ইউনিক্স: কনফিগার stored হোম / / আপনার অ্যাপ-এ সংরক্ষিত আছে, এক পুনরাবৃত্তিতে সমাধান হয়েছে।
লিওনেল

33
ইউনিক্স সমাধানটি আদর্শের থেকেও দূরে: $ হোম ডট-ফাইলগুলি দ্বারা প্রস্ফুটিত হয় এবং তাদের বেশিরভাগ কী করবে আপনার কোনও ধারণা নেই।
, grep

2
@ লিওনেল এক্সডিজি আসলে আদেশ দেয় যে আপনার কনফিগার ফাইলগুলিকে ভিতরে রাখা উচিত $HOME/.config/your-app/, একটি সমাধান @grep অবজেক্টগুলিতে সমস্যা মোকাবেলায় তৈরি করা একটি সমাধান। এবং, বিস্ময়, আধুনিক লিনাক্স (এবং ব্যবহার গনোম করুন * বাসদ এর পাগল যথেষ্ট উপর কেহ) এছাড়াও একটি রেজিস্ট্রি রয়েছে gconfসুইট। FOSS প্রজনন পছন্দগুলি, এটি নিশ্চিতভাবে;)
new123456

1
@ গ্রেপ, পুনরায় " তাদের বেশিরভাগই কী করবেন " জানেন না "কেন? এছাড়াও, ব্লোটটি উইন্ডোজের সাথে খুব কমই তুলনীয়।
পেসারিয়ার

16

এটি উভয় ব্যবহারকারীর দৃষ্টিকোণ এবং একটি প্রোগ্রামার দৃষ্টিকোণ থেকে আমার বলতে হবে যে ফাইল অ্যাসোসিয়েশন, বা মেশিনের নির্দিষ্ট সেটিংসের মতো কিছু না হলে রেজিস্ট্রিতে কিছু স্থাপন করার পক্ষে সত্যিকার অর্থে কোনও উত্তম উপায় নেই।

আমি ভাবনা বিদ্যালয় থেকে এসেছি যে বলে যে একটি প্রোগ্রাম যেখানেই ইনস্টল করা হয়েছে সেখান থেকে চালানো উচিত, কোনও মেশিনের মধ্যে ইনস্টলেশন সম্পূর্ণরূপে চলমান হওয়া উচিত, এমনকি অন্য কোনও মেশিনেও হওয়া উচিত এবং এটি চলমানকে প্রভাবিত করে না।

কোনও কনফিগারযোগ্য বিকল্প, বা প্রয়োজনীয় dlls ইত্যাদি, যদি সেগুলি ভাগ না করা হয় তবে ইনস্টলেশন ডিরেক্টরিটির একটি উপ-ডিরেক্টরিতে থাকতে হবে, যাতে পুরো ইনস্টলেশনটি সহজেই সরানো যায়।

আমি প্রোগ্রামগুলির মতো অনেক ছোট ইউটিলিটি ব্যবহার করি, সুতরাং এটি যদি কোনও ইউএসবি স্টিকের উপর ইনস্টল করা হয় না এবং অন্য মেশিনে প্লাগ করা হয় এবং কেবল চালানো হয়, তবে এটি আমার পক্ষে নয়।


4
তবে ইনস্টলেশন প্রায়শই অ্যাডমিন নিয়ন্ত্রণের অধীনে করা হয়, যখন আপডেটিং সেটিংসটি ব্যবহারকারীর নিয়ন্ত্রণে করা আবশ্যক। সেটিংস আপডেট করার চেষ্টা করার কল্পনা করুন - ব্যবহারকারীর পরিচয়ের অধীনে চলছে এমন একটি অ্যাপ্লিকেশন যা কেবলমাত্র অ্যাডমিন-অ্যাক্সেসের মধ্যে সীমাবদ্ধ এমন কোনও ডিরেক্টরিতে লিখতে চায়। এটি রেজিস্ট্রি সম্বোধন করার উদ্দেশ্যে করা জিনিসগুলির মধ্যে একটি।
চিজো

@ শীসো, সমাধানটি প্রতিটি ব্যবহারকারীর মৃত্যুদন্ড কার্যকর করার অনুলিপি রাখার জন্য। স্থান বাঁচাতে, একটি আসল অনুলিপি নয় কেবল একটি জাল অনুলিপি (পয়েন্টার)।
পেসারিয়ার

12

মাইক্রোসফ্ট নীতি:

  • উইন্ডোজ 95 এর আগে, আমরা অ্যাপ্লিকেশন ডেটার জন্য আইএনআই ফাইল ব্যবহার করি।
  • উইন্ডোজ 95 - এক্সপি যুগে, আমরা রেজিস্ট্রি ব্যবহার করি।
  • উইন্ডো ভিস্তা থেকে, আমরা আইএনআই ফাইল ব্যবহার করি যদিও সেগুলি এখন এক্সএমএল ভিত্তিক।

রেজিস্ট্রি মেশিন নির্ভর। আমি এটি কখনই পছন্দ করি নি কারণ এটি ধীর হয়ে যাচ্ছে এবং আপনার প্রয়োজনীয় জিনিসটি সন্ধান করা প্রায় অসম্ভব। এজন্য আমি সাধারণ আইএনআই বা অন্যান্য সেটিং ফাইল পছন্দ করি। আপনি জানেন যে তারা কোথায় (অ্যাপ্লিকেশন ফোল্ডার বা একটি ব্যবহারকারী ফোল্ডার) তাই তারা সহজে বহনযোগ্য এবং মানব পাঠযোগ্য।


1
আপনি কি মাইক্রোসফ্টের এই নীতিটি বর্ণনা করে এমন দস্তাবেজের একটি মূল লিঙ্ক সরবরাহ করতে পারবেন? এবং যখন আপনি নীতি বলছেন, আপনি কি বোঝাতে চাইছেন যে মাইক্রোসফ্ট এই কাজটি করে?
চিজো

1
পিএস: মাইক্রোসফ্টের রেমন্ড চেন বলেছেন যে আইএনআই ফাইলগুলি রেজিস্ট্রির পক্ষে অবতীর্ণ হয়েছে এবং কেন তা ব্যাখ্যা করেছে। ব্লগস.এমএসডন.ল্ডনেউথিং / অর্চিভ/2007/11/26/6523907.aspx তিনি আরও বলেছেন যে এক্সএমএল ফাইলগুলিতে আইএনআই ফাইলগুলির মতো অনেকগুলি ত্রুটি রয়েছে।
চিজো

8
এক্সএমএল সেটিংস ফাইলগুলি = আইএনআই ফাইল যা পার্স করা শক্ত
রবার্ট ফ্রেজার

3
@ ফ্রেজার যদি আপনি ভাবেন যে এক্সএমএলকে পার্স করা কঠিন, আপনি ভুল ব্যবসা করছেন।
স্নেকডোক

@ স্নেকডোক, হার্ড এর অর্থ আরও কঠিন নয়। এর অর্থ হ'ল ধীর পার্সিং এবং ল্যাগ।
পেসারিয়ার

12

কখন - আপনি উত্তরাধিকারের একীকরণের কারণে বা আপনার গ্রাহকের সিসাদমিন বলেছিলেন যে "এটি এমন হবে" বা আপনি কোনও পুরানো ভাষায় বিকাশ করছেন যা এক্সএমএল ব্যবহার করা আরও কঠিন করে তোলে।

কেন - প্রাথমিকভাবে কারণ যে রেজিস্ট্রি অ্যাপ্লিকেশনের পাশে বসে থাকা কনফিগারেশন ফাইলটি অনুলিপি করার মতো পোর্টেবল নয় (এবং এটি প্রায় একই হিসাবে পরিচিত)।

যদি আপনি। নেট 2 + ব্যবহার করে থাকেন তবে আপনার কাছে অ্যাপ.কনফিগ এবং ব্যবহারকারী.কনফিগ ফাইল রয়েছে এবং আপনার রেজিস্ট্রিতে ডিএলএল নিবন্ধকরণ করার দরকার নেই তাই এ থেকে দূরে থাকুন।

কনফিগারেশন ফাইলগুলির নিজস্ব সমস্যা রয়েছে (নীচে দেখুন) তবে এগুলি চারপাশে কোড করা যেতে পারে এবং আপনি আপনার আর্কিটেকচার পরিবর্তন করতে পারেন।

  • সমস্যা: অ্যাপ্লিকেশনগুলির জন্য কনফিগারযোগ্য সেটিংস দরকার।
  • সমাধান: উইন্ডোজ ফোল্ডারে কোনও ফাইলে (WIN.INI) স্টোর সেটিংস - গোষ্ঠী ডেটাতে বিভাগের শিরোনাম ব্যবহার করুন (Win3.0)।
  • সমস্যা: WIN.INI ফাইলটি খুব বড় আকারে বেড়েছে (এবং অগোছালো হয়ে গেছে)।
  • সমাধান: অ্যাপ্লিকেশন (Win3.1) হিসাবে একই ফোল্ডারে আইএনআই ফাইলগুলিতে স্টোর সেটিংস।
  • সমস্যা: ব্যবহারকারী-নির্দিষ্ট সেটিংস প্রয়োজন।
  • সমাধান: ব্যবহারকারীর উইন্ডো ডিরেক্টরিতে (Win3.11) বা অ্যাপ্লিকেশন INI ফাইলের ব্যবহারকারী-নির্দিষ্ট বিভাগগুলিতে ব্যবহারকারী-নির্দিষ্ট আইএনআই ফাইলগুলিতে ব্যবহারকারী-সেটিংস সঞ্চয় করুন।
  • সমস্যা: সুরক্ষা - কিছু অ্যাপ্লিকেশন সেটিংস কেবল পঠনযোগ্য হওয়া দরকার।
  • সমাধান: সুরক্ষার পাশাপাশি ব্যবহারকারী-নির্দিষ্ট এবং মেশিন-ওয়াইড বিভাগগুলি (Win95) সহ রেজিস্ট্রি।
  • সমস্যা: রেজিস্ট্রি খুব বড় হয়েছে।
  • সমাধান: ব্যবহারকারীর নির্দিষ্ট রেজিস্ট্রি ব্যবহারকারীর নিজস্ব "অ্যাপ্লিকেশন ডেটা" ফোল্ডারে ইউজার.ড্যাট-এ স্থানান্তরিত হয়েছে এবং কেবল লগইন (উইনএনটি) এ লোড হয়েছে।
  • সমস্যা: বৃহত কর্পোরেট পরিবেশে আপনি একাধিক মেশিনে লগইন করেন এবং প্রতিটি এক সেট আপ করতে হয়।
  • সমাধান: স্থানীয় (স্থানীয় সেটিংস) এবং রোমিং (অ্যাপ্লিকেশন ডেটা) প্রোফাইলগুলির (উইনএক্সপি) মধ্যে পার্থক্য করুন।
  • সমস্যা: এক্সকপিটি। নেট এর বাকী মতো অ্যাপ্লিকেশনগুলি মোতায়েন বা সরানো যায় না।
  • সমাধান: অ্যাপ্লিকেশন হিসাবে একই ফোল্ডারে অ্যাপ্লিকেশন। কনফিগ এক্সএমএল ফাইল -, পড়তে সহজ, কারসাজি করা সহজ, সরানো সহজ, পরিবর্তিত হলে (। নেট 1) ট্র্যাক করতে পারে।
  • সমস্যা: তবুও ব্যবহারকারী-নির্দিষ্ট ডেটা একই ধরণের (অর্থাত্ xcopy স্থাপনা) পদ্ধতিতে সংরক্ষণ করা দরকার।
  • সমাধান: ব্যবহারকারীর স্থানীয় বা রোমিং ফোল্ডারে USER.CONFIG এক্সএমএল ফাইল এবং দৃ .়ভাবে টাইপ করা (। নেট 2)।
  • সমস্যা: CONFIG ফাইলগুলি কেস-সংবেদনশীল (মানুষের কাছে স্বজ্ঞাত নয়), খুব নির্দিষ্ট ওপেন / ক্লোজ "ট্যাগগুলি" প্রয়োজন, রান-টাইমে সংযোগের স্ট্রিং সেট করা যায় না, সেটআপ প্রকল্পগুলি সেটিংস লিখতে পারে না (সহজেই রেজিস্ট্রি হিসাবে), সহজেই নির্ধারণ করতে পারে না user.config ফাইল এবং ব্যবহারকারীর সেটিংস প্রতিটি নতুন সংশোধন ইনস্টল করার সাথে ফুটিয়ে তোলা হয়েছে।
  • সমাধান: রানটাইমের সময় সংযোগের স্ট্রিং সেট করতে আইটিইএম সদস্যকে ব্যবহার করুন, অ্যাপ্লিকেশনটি পরিবর্তন করার জন্য ইনস্টলার শ্রেণিতে কোড লিখুন during কনফিগ ইনস্টল করার সময় এবং যদি কোনও ব্যবহারকারী সেটিং না পাওয়া যায় তবে অ্যাপ্লিকেশন সেটিংসটিকে ডিফল্ট হিসাবে ব্যবহার করুন।

এটি অনুমোদিত উত্তরটির চেয়ে অনেক বেশি সম্পূর্ণ উত্তর। ধন্যবাদ @ অ্যান্ড্রুড।
রটম্যান

8

আপনি যদি উইন্ডোজ রেজিস্ট্রিতে কয়েকটি উইন্ডো অবস্থান এবং সর্বাধিক ব্যবহৃত আইটেমগুলির একটি তালিকা সঞ্চয় করেন তবে কি বিশ্বটি শেষ হতে চলেছে? এটি এখনও পর্যন্ত আমার পক্ষে ঠিক আছে।

HKEY-CURRENT-USER স্বল্প পরিমাণে তুচ্ছ ব্যবহারকারীর ডেটা সংরক্ষণ করার জন্য দুর্দান্ত জায়গা। এটাই তার জন্য। অন্যরা এটির অপব্যবহার করেছে বলেই এটি তার উদ্দেশ্যযুক্ত উদ্দেশ্যে ব্যবহার করা নিরীহ বলে মনে হচ্ছে।


এবং এটি নিজেকে দূষিত করার ক্ষেত্রে দুর্দান্ত ... এটি একটি প্লাস। ব্যবহারকারীর জন্য কম কাজ ...
স্নেকডোক

4

আপনি ব্যবহারকারীর রোমিং প্রোফাইলে যে সেটিংসটি পেতে চান সেগুলি সম্ভবত রেজিস্ট্রিতে যাওয়া উচিত, যদি না আপনি আসলে ব্যবহারকারীর অ্যাপ্লিকেশন ডেটা ফোল্ডারটি হাতে হাতে সন্ধানের প্রচেষ্টাটিতে যেতে চান। :-)


4

রেজিস্ট্রি পড়া এবং লেখার থ্রেডসেফ কিন্তু ফাইল নেই। সুতরাং এটি আপনার প্রোগ্রামটি একক থ্রেডযুক্ত কিনা তা নির্ভর করে।


2

যদি আপনি একটি নতুন অ্যাপ্লিকেশন বিকাশ করছেন এবং আপনি বহনযোগ্যতার বিষয়ে যত্নশীল হন তবে আপনার উইন্ডোজ রেজিস্ট্রিতে কখনই ডেটা সংরক্ষণ করা উচিত নয় যেহেতু অন্যান্য ওএসের একটি (উইন্ডোজ) রেজিস্ট্রি নেই (দ্বি দ্রষ্টব্য - এটি সুস্পষ্ট হতে পারে তবে প্রায়শই অবহেলিত হয়)।

আপনি যদি কেবল উইন প্ল্যাটফর্মের জন্য বিকাশ করছেন ... এটি যথাসাধ্য এড়াতে চেষ্টা করুন। কনফিগার ফাইল (সম্ভবত এনক্রিপ্ট করা) একটি উপায় উন্নত সমাধান। রেজিস্ট্রিতে ডেটা সংরক্ষণ করার কোনও লাভ নেই - (বিলি স্টোরেজ আরও ভাল সমাধান উদাহরণস্বরূপ আপনি যদি নেট ব্যবহার করছেন)।


এটি আংশিক সত্য। মোনো মাইক্রোসফ্ট.উইন 32 নাম তালিকা রেজিস্ট্রিগুলির জন্য প্রয়োগ করেছে - কেবলমাত্র এটি কোনও এক্সএমএল ফাইলে ~ / .mono / রেজিস্ট্রি ফাইলগুলিতে সংরক্ষণ করে এবং এটি স্বচ্ছভাবে পরিচালিত হয়। এখন আপনি যদি প্ল্যাটফর্ম নির্বিশেষে কোনও অ্যাপের জন্য এক্সএমএল হ্যান্ডলিং চালু করতে পারেন ...
রবার্ট পি

দ্রষ্টব্য: আপনি যদি নেট নেট / মনো অ্যাপ্লিকেশন লিখছেন তবে কেবলমাত্র আপনাকে উপলব্ধ।
রবার্ট পি

রেজিস্ট্রি একটি লাভ বহন করে: মাল্টি-থ্রেড অ্যাপ্লিকেশনটিতে ডেটা আরও সহজেই অ্যাক্সেসযোগ্য। আরও গুরুত্বপূর্ণ, এটি আপনাকে মেশিন নির্দিষ্ট বনাম ব্যবহারকারীর দ্বারা নির্দিষ্ট কনফিগারেশন ডেটা পৃথক করতে দেয়। আপনার অ্যাপ্লিকেশনটি HKEY_CURRENT_USER এ অ্যাক্সেস করলে কে লগ ইন করেছে সে সম্পর্কে সচেতন হওয়ার দরকার নেই। যদিও আপনি বহনযোগ্যতার কথা ঠিক বলেছেন।
জেমস

2

সামান্য সামান্য অফ-টপিক, তবে যেহেতু আমি লোককে বহনযোগ্যতার বিষয়ে উদ্বিগ্ন দেখি, তাই আমি এখন পর্যন্ত সবচেয়ে ভাল ব্যবহার করেছি Qt এর কিউসেটেটিং ক্লাস। এটি সেটিংসের স্টোরেজ বিমূ .় করে (উইন্ডোজে রেজিস্ট্রি, ম্যাক ওএসে এক্সএমএল পছন্দ ফাইল এবং ইউনিক্সে আইএনআই ফাইল) files ক্লাসের ক্লায়েন্ট হিসাবে আমাকে রেজিস্ট্রি বা অন্য কিছু নিয়ে ভাবতে ভাবতে মস্তিষ্কের চক্র ব্যয় করতে হবে না, এটি জাস্ট ওয়ার্কস (টিএম)।

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


এটি ইউআরএল আর কাজ করছে না বলে মনে হয়। একটি আপডেট রেফারেন্স qt-project.org/doc/qt-5/QSettings.html# বিবরণী
Eineki

0

সাধারণত, আপনি যদি রেজিস্ট্রিগুলিতে সেটিংস না রাখেন তবে আপনি এটি বেশিরভাগ বর্তমান উইন্ডোজ সেটিংস, ফাইল অ্যাসোসিয়েশন পরিবর্তন করতে ব্যবহার করেন etc.
এখন, আপনার সফ্টওয়্যারটি ইতিমধ্যে ইনস্টল করা আছে কিনা তা সনাক্ত করতে হলে, আপনি রেজিস্ট্রিতে একটি ন্যূনতম প্রবেশিকাতে পারেন , এটি এমন কোনও অবস্থান যা আপনি কোনও কনফিগারেশনে ফিরে পেতে পারেন। অথবা অ্যাপ্লিকেশন ডেটাতে প্রদত্ত নামের একটি ফোল্ডার অনুসন্ধান করুন।

আমি যদি আমার নথি এবং সেটিংস ফোল্ডারের দিকে নজর রাখি তবে আমি ফোল্ডারগুলি সেট করার জন্য ইউনিক্স ডট নোটেশন ব্যবহার করে প্রচুর সফ্টওয়্যার দেখতে পাচ্ছি: .৪৪ বর্গফুট। এসকিএল ওয়ার্কবেঞ্চ .সকিয়ারেল-এসকিএল .সুনডাউনলোডম্যানেজার .এক্সএনজিআর। .জিনডেন্ট। জোগল_েক্সট (ইত্যাদি)

এবং অ্যাপ্লিকেশন ডেটাতে সম্পাদকের নাম বা সফ্টওয়্যার নাম সহ বিভিন্ন ফোল্ডার। কমপক্ষে পোর্টেবল অ্যাপ্লিকেশনগুলির মধ্যে বর্তমান প্রবণতা বলে মনে হচ্ছে ...
উইনমার্জি রেজিস্ট্রিতে ডেটা সংরক্ষণ করে কিছুটা ভিন্ন পদ্ধতির ব্যবহার করে তবে কনফিগার ডায়ালগটিতে বিকল্প আমদানি ও রফতানি সরবরাহ করে।


আপনি যে ইউনিক্স ডট নোটেশনটি দেখেন সম্ভবত এটি কারণ হ'ল উইন্ডোজ বিকাশের জন্য এটি সর্বোত্তম অনুশীলন নয়।
জেমস

প্রকৃতপক্ষে, আমি বলিনি যে এটি "সেরা অনুশীলন", তবে সাধারণ অনুশীলন ... :) অ্যাপ্লিকেশন ডেটা / এ / সেরা অনুশীলনের ফোল্ডারগুলি, বিশেষত বড় ডেটার জন্য, তবে এ কারণে যে সেগুলি ব্যাক আপ করা সহজ।
ফিলিহো

0

ব্যক্তিগতভাবে আমি (আন) ইনস্টল স্ক্রিপ্টগুলি ব্যবহারের জন্য ইনস্টল করার পাথ সংরক্ষণ করার জন্য রেজিস্ট্রি ব্যবহার করেছি। আমি নিশ্চিত নই যে এটি কেবলমাত্র সম্ভাব্য বিকল্প কিনা তবে এটি একটি বোধগম্য সমাধানের মতো বলে মনে হয়েছিল। এটি এমন কোনও অ্যাপ্লিকেশানের জন্য ছিল যা পুরোপুরি উইন্ডোজটিতে ব্যবহৃত হয়েছিল।


0

.NET- এ সত্যিই কখনও প্রয়োজন হয় না।

এখানে 2 টি উদাহরণ দেওয়া আছে যা দেখায় যে এটি কীভাবে প্রকল্পের প্রার্টিগুলি ব্যবহার করতে হয়।

এই উদাহরণগুলি উইন্ডোজ ব্যবহারকারী প্রকল্পের বৈশিষ্ট্যগুলি দ্বারা এটি করে, তবে একইভাবে / অ্যাপ্লিকেশন দ্বারাও করা যেতে পারে।

আরও এখানে:

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

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


0

(আলোচনায় দেরি হলেও) সংক্ষিপ্ত উত্তর: গ্রুপ নীতি।

যদি আপনার গ্রাহকের আইটি বিভাগ উইন্ডোজ বা আপনি যে উপাদানটি লিখছেন বা বান্ডিল করছেন সেগুলি সম্পর্কিত কোনও লিঙ্ক গতি, বা একটি কাস্টম ত্রুটি বার্তা, বা সংযুক্ত হওয়ার জন্য একটি ডাটাবেস সার্ভারের সাথে সম্পর্কিত সেটিংস প্রয়োগ করতে চায় তবে এটি এখনও সাধারণত গ্রুপ নীতি মাধ্যমে সম্পন্ন হয়েছে, যা রেজিস্ট্রিতে সঞ্চিত সেটিংস হিসাবে এর চূড়ান্ত প্রকাশ ঘটায়। উইন্ডোজ শুরু হওয়ার সময় থেকে বা ব্যবহারকারীরা লগ ইন করার সময় থেকেই এই জাতীয় নীতি প্রয়োগ করা হয়।

কাস্টম এডিএমএক্স টেমপ্লেট তৈরির সরঞ্জাম রয়েছে যা নিখরচায় অবস্থানে আপনার উপাদানগুলির সেটিংস ম্যাপ করতে পারে এবং প্রশাসককে নীতি প্রয়োগ করতে প্রয়োজনীয় একটি ইন্টারফেস দেয় (গুলি) যখন সেগুলি প্রয়োগ করতে কেবল অর্থবহ সেগুলি প্রদর্শন করে showing


-1

আমি বিশ্বাস করি যে উইন্ডোজ রেজিস্ট্রিটি একটি ভাল ধারণা ছিল, তবে অ্যাপ্লিকেশন বিকাশকারীদের কাছ থেকে দুর্দান্ত আপত্তি এবং মাইক্রোসফ্ট দ্বারা উত্সাহিত / বাধ্যতামূলক নয় এমন নীতিগুলি একটি অযৌক্তিক জন্তুতে পরিণত হয়েছিল। আপনি যে কারণে উল্লেখ করেছেন সে কারণে এটি ব্যবহার করা আমি ঘৃণা করি, তবে এমন কিছু অনুষ্ঠান রয়েছে যা এটি ব্যবহার করে বোঝায়:

  • আপনার অ্যাপ্লিকেশনটি আনইনস্টল হয়ে যাওয়ার পরে আপনার অ্যাপ্লিকেশনটির একটি চিহ্ন রেখে যাওয়া (যেমন অ্যাপ্লিকেশনটি আবার ইনস্টল হওয়ার ক্ষেত্রে ব্যবহারকারীর পছন্দগুলি মনে রাখবেন)
  • বিভিন্ন অ্যাপ্লিকেশন - উপাদানগুলির মধ্যে কনফিগারেশন সেটিংস ভাগ করুন

5
আপনার প্রথম বক্তব্য সম্পর্কে আমি আপনার সাথে একমত নই, "[l] আপনার অ্যাপ্লিকেশনটি আনইনস্টল করার পরে আপনার অ্যাপ্লিকেশনটির কোনও চিহ্ন সরিয়ে নেওয়া হচ্ছে"। আমি বরং এটিই বলি যদি আপনার অ্যাপটি সম্পূর্ণরূপে মেনে চলে "আমার সিস্টেম থেকে নিজেকে সরিয়ে দিন"। আমি মনে করি এটি অন্যরকম হত যদি আপনি ব্যবহারকারীকে কিছু জিজ্ঞাসা করে রেখেছিলেন যে কিছু পিছনে রেখে দেওয়া ঠিক আছে তবে তারপরেও আমি সম্ভবত এটি একটি সংরক্ষিত কনফিগারেশন ফাইল হিসাবে চাই। লাইসেন্সিং ইত্যাদির পরেও, আপনি যদি নিজের কম্পিউটার বিক্রি করে একটি নতুন কিনে থাকেন তবে আপনি যে কম্পিউটারটি বিক্রি করছেন তার সাথে বাঁধা কিছু না রেখে আপনি নতুন সেটিংসে লোড করতে পারেন এমন একটি সেটিংস ফাইলটি কী আপনার কাছে নেই?
এজেন্টকনুন্ড্রাম

2
অনেক অ্যাপ্লিকেশন এটি করে এবং আপনি ঠিকই বলেছেন যে এটি খুব ভাল জিনিস নয়, বিশেষত যদি তারা ব্যবহারকারীর অনুমতি ব্যতীত এটি করে। তবে এটি প্রায়শই কার্যকারিতা ব্যবহারকারীদের দ্বারা একটি অ্যাপ্লিকেশন থেকে প্রত্যাশা করা হয় (ব্যবহারকারীদের অধিকাংশই রেজিস্ট্রি কী তা জানেন না)। ব্যবহারকারীরা কেবল পুনরায় আনইনস্টল ও ইনস্টল করার পরে তাদের সেটিংগুলি স্বয়ংক্রিয়ভাবে যাদুতে ফিরে ফিরে আসার প্রত্যাশা করে।
কেজিআনাকাকিস 20'09

2
আমি মনে করি আমরা এখানে একটি ম্যালওয়ার লেখক পেয়েছি। কারওর সিস্টেমে আপনার প্রোগ্রাম থেকে বকাবকি কখনও ছাড়বেন না যদি তারা আপনাকে আনইনস্টল করতে বলেন। তারা যদি সেটিংস ইত্যাদি মনে রাখতে চান তবে কমপক্ষে তাদের জিজ্ঞাসা করুন ever আপনি যদি কোনও লাইসেন্স কী সঞ্চয় করেন এবং আমি আমার কম্পিউটার বিক্রি করি? যদি আপনার প্রোগ্রামটি আমার কম্পিউটারে সমস্যা সৃষ্টি করে এবং আমি এটিকে সংশোধন করার জন্য আনইনস্টল করার চেষ্টা করেছি? ঠিক আছে, আপনার রেজিস্ট্রি বাম ওভারগুলি আমাকে অনেক সমস্যার কারণ হতে পারে। শুধু এটা করবেন না। শুধু না।
স্নেকডোক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.