উইন্ডোজ কীভাবে প্রোগ্রাম নির্ভরতা পরিচালনা করে?


23

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

উইন্ডোজ কীভাবে এই সমস্ত জিনিস পরিচালনা করে?


2
উইন্ডোজ সংস্করণ নির্ভরতা হ্যান্ডেল করে না । বেশিরভাগ সংস্করণ ইনস্টলাররা করেন। আপনি যদি এর সাথে ইতিমধ্যে পরিচিত না হন তবে ইনোসেটআপ দেখুন: jrsoftware.org/isinfo.php
পলস্ম 4

4
এটি সম্ভবত লক্ষ্য করার মতো যে এমনকি আপনার উদাহরণগুলিতে এটি নির্ভরতাগুলি পরিচালনা করছে এমন প্রতি লিনাক্স নয় - এটি প্যাকেজ পরিচালক।
গ্যালাকটিক

3
উইন্ডোজ কীভাবে প্রোগ্রাম নির্ভরতা পরিচালনা করে? খারাপভাবে, আমার অভিজ্ঞতা।
rlms

উত্তর:


29

এটা না। যদি না আমরা কথা বলি নেট যা আপনাকে সংকলক অনুসারে ফ্রেমওয়ার্ক সংস্করণ এক্স ইনস্টল করতে বলে।

অন্য সব কিছুই কেবল একটি ত্রুটি ছুড়ে দেয়। ভাগ্য, আপনি পেতে missing dll xxxx.dll। যদিও, বেশিরভাগ ইনস্টলারের সফ্টওয়্যারটি চালানোর জন্য প্রয়োজনীয় গ্রন্থাগারগুলি অন্তর্ভুক্ত থাকবে।


6
সুতরাং প্রতিটি প্রোগ্রাম ইনস্টলারের উপর নির্ভরশীলদের জন্য পরীক্ষা করা? সুতরাং যদি ইনস্টলারটি সফল হয় তবে আপনি প্রোগ্রামটি একেবারেই ব্যবহার করতে পারবেন না ..
নিকো

বলতে ভুলে গেছেন, না, আপনি তখন প্রোগ্রামটি ব্যবহার করতে পারেন তবে কোন ডিএলএল বা কাঠামোর দরকার তা আপনাকে খুঁজে বের করতে হবে।
ফিলিপ ইয়াবা পালিডো

9
@ ফিলিপ তাই আপনি ভি সি ++ রানটাইম ইনস্টল করতে হবে তার কারণ আপনি। নেট সফ্টওয়্যারকে ঘৃণা করছেন? এছাড়াও ডিফল্টরূপে উইন্ডোজটিতে ইতিমধ্যে একটি .NET ফ্রেমওয়ার্ক ইনস্টল রয়েছে, সুতরাং আপনি যদি সঠিক সংস্করণটিকে লক্ষ্য করেন তবে এটি বাক্সের বাইরে চলে যাবে। এবং আপনাকে যে হারিয়ে যাওয়া ভাগ করা অবজেক্টগুলি ডাউনলোড করতে এবং ইনস্টল করতে হবে তা প্রকৃত কারণে কোনও নির্দিষ্ট সফ্টওয়্যার / ভাষা / কাঠামোর মধ্যেই সীমাবদ্ধ নয় (আপনার * নিক্সেও একই "সমস্যা" থাকতে পারে)।
ভু

2
@ ফিলিপাইবাবাপোলিডো: আপনার ঘৃণাটি বিশেষত ভ্রান্ত হয়েছে কারণ ভিসি ++ ২০০৮ রানটাইম সি ++ অ্যাপ্লিকেশনগুলির জন্য, নেট অ্যাপ্লিকেশনগুলির জন্য নয়। স্পষ্টতই। নেট অ্যাপ্লিকেশনগুলির জন্য। নেট ফ্রেমওয়ার্ক এবং সি ++ অ্যাপ্লিকেশনগুলির প্রয়োজন সি ++ ফ্রেমওয়ার্ক (রানটাইম), যা খুব সহজ। এখন একটি নির্দিষ্ট সফ্টওয়্যার প্যাকেজটিতে সি ++ এবং। নেট অংশ উভয়ই থাকতে পারে তাই দুটি বিশেষ নয়।
এমসাল্টাররা

2
ছেলেরা শিথিল, আমি ঘৃণা করি না। নেট বা ভিসি ++। আমি যখন নেট / সি # তে কোড করি তখন প্রয়োজন হয়, এটি একটি সরঞ্জাম। তবে আমি কিছু আলাদা সরঞ্জাম নিয়ে কাজ করি এবং পার্থক্যগুলি দেখি। আমি ভুল ব্যাখ্যা দিলে দুঃখিত।
ফিলিপ ইয়াবা পলিডো

40

4/4/2014 সম্পাদনা করুন: আরে ওপি, সবেমাত্র কী প্রকাশিত হয়েছিল তা দেখুন:

http://blogs.technet.com/b/windowsserver/archive/2014/04/03/windows-management-framework-v5-preview.aspx


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

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

তবে উপরের দিকে, এর অর্থ হল যে ব্যবহারকারীরা ইতিমধ্যে তার মেশিনে কোন লাইব্রেরি উপস্থিত থাকবে সে সম্পর্কে অনেক বেশি ধারণা তৈরি করতে সক্ষম হয়। এবং ইনস্টল করা those গ্রন্থাগারের বিভিন্ন সংস্করণ সংরক্ষণ করা হবে করা হয়ে ওঠা উপাদান স্টোরের পাশাপাশি পাশাপাশি , যাতে আপনার আর অ্যাপ্লিকেশন ক্র্যাপডিএলএল.ডিএল সম্পর্কে বার্কিং করতে না পারে এবং একই সাথে ক্র্যাপডিএলএল.ডিএল-র বিভিন্ন সংস্করণের প্রয়োজনের জন্য অ্যাপ 2 ঘেউ ঘেউ করতে পারে have সময়, ইত্যাদি


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

ভাল বর্ণিত। তবে আমি বলব এটি সার্ভার সাইডে মূল / গুই-মুক্ত বিকল্পগুলি, ভূমিকা এবং বৈশিষ্ট্য ভিত্তিক সেটআপে উল্লেখযোগ্যভাবে আরও মডুলার পাচ্ছে।
এরিকবি

আমি আজ সকালে এই নিবন্ধটি পড়লাম এবং এটি আমাকে এই পোস্টের কথা মনে করিয়ে দিয়েছে। এই বিষয়টিকে স্পর্শকাতরভাবে পড়লেও এটি একটি মজাদার
রায়ান

9

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

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

.NET ফ্রেমওয়ার্ক অ্যাপ্লিকেশনগুলির জন্য রয়েছে গ্লোবাল অ্যাসেম্বলি ক্যাশে, স্ট্রং-নামযুক্ত অ্যাসেমব্লিজ এবং মূল ম্যানিফেসেস্ট।

উইন্ডোজ 8 এবং 8.1 এ উইন্ডোজ রানটাইম লাইব্রেরির সাথে উইন্ডোজ অ্যাপ স্টোর রয়েছে (উইন 32 এপিআই প্রতিস্থাপন)।

সম্পাদনা: এই প্রযুক্তির বেশিরভাগের মূল অংশে রয়েছে অ্যাসেমবিলি ম্যালিফাইস্ট, এম্বেড করা ফাইল যা অন্যান্য ডেটাগুলির মধ্যে সংস্করণ নম্বর, লেখক, নির্ভরশীল সমাবেশ এবং তাদের সংস্করণগুলি সরবরাহ করে।


6

অন্যান্য উত্তরগুলি সঠিকভাবে নির্দেশ করেছিল যে প্যাকেজ পরিচালনা এবং ওএস পৃথক ধারণা তবে কোনও সমাধানের কথা উল্লেখ করেনি।

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

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


কাফনের কাপড়! তৃতীয় পক্ষের প্যাকেজ ম্যানেজারদের হাতে গোনা কয়েকটি উইন্ডোজ রয়েছে। আমি কেবল আমার মাথার উপরে যে নামটি জানাতে পারি তা হ'ল নুগেট, এটি অ্যাপ্লিকেশন বিকাশকারীদের ভিজ্যুয়াল স্টুডিওতে তৈরির জন্য একটি প্যাকেজ / নির্ভরতা পরিচালক। এটি বলেছে যে আমি বিশ্বাস করি যে প্রশ্নটি অপারেটিং সিস্টেম কীভাবে প্যাকেজ পরিচালনা করে তা আরও সন্ধান করছে, যেখানে এই সমাধানগুলি কোনও ব্যবহারকারী কীভাবে প্যাকেজগুলি পরিচালনা করতে পারে তার দিকে বেশি are
গোল্ডফিশ স্যান্ডউইচ

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

চকোলেটির ক্ষেত্রে যদিও প্যাকেজটি সম্পূর্ণ অ্যাপ্লিকেশন বা অ্যাপ্লিকেশন নির্ভরতা (অ্যাপ্লিকেশন কাঠামোর মতো জাভা,। নেট, রুবি)। নুগেট প্যাকেজটিতে পাওয়ারশেল স্ক্রিপ্টগুলি রয়েছে (allyচ্ছিকভাবে ইনস্টলারটিও ইনস্টল করা) যা অ্যাপ্লিকেশনটির ইনস্টলেশন পরিচালনা করবে এবং নসপেক ফাইল অ্যাপ্লিকেশনটি এবং এর কী নির্ভরতা রয়েছে তা বর্ণনা করে eg যেমন পাওয়ারশেল। নেট উপর নির্ভর করে। এখানে বক্স স্টার্টারও রয়েছে যা কোনও মেশিনের কনফিগারেশন এবং এটি কী নির্ভর করে তা বর্ণনা করে একটি স্তরকে উচ্চতর করে focus খুব সুন্দর পরিষ্কার স্টাফ। বক্স স্টার্টার লোকেরা শেফ বা পুতুলের জন্য কী ব্যবহার করে তার সীমাতে চলে যায়।
অ্যালেনসনোবার 20 '

0

আমি যা বুঝি সেগুলি থেকে, উইন্ডোজ দ্বারা পরিচালিত একমাত্র নির্ভরতা হ'ল মাইক্রোসফ্ট নির্দিষ্ট গ্রন্থাগারগুলি। যদি আপনি উদাহরণস্বরূপ, ব্লেন্ডারের মতো উইন্ডোজে ওপেন সোর্স প্রোগ্রামটি ইনস্টল করেন তবে এটির নিজস্ব আলাদা ডিএলএল ফাইলগুলিতে লাইবকোডেক এবং ffmpeg লাইব্রেরি থাকবে এবং আপনি যদি ওপেনশটটি ইনস্টল করেন তবে এটি তার নিজস্ব অনুলিপি ইনস্টল করবে libavcodec এর নিজস্ব ডিরেক্টরিতে এবং সেগুলি সম্পূর্ণ আলাদা সংস্করণ হতে পারে। পিছনে ফেলে রাখা জঞ্জাল পরিষ্কার করার জন্য সফ্টওয়্যার আনইনস্টল করার সময় এটি একটি দুঃস্বপ্ন হতে পারে এবং এটি লাইব্রেরির অপ্রয়োজনীয়তার সাথে আরও বেশি ডিস্কের জায়গাও নেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.