7-জিপ স্ব-এক্সট্র্যাক্টিং সংরক্ষণাগার (এসএফএক্স) সংরক্ষণাগার থেকে নিষ্কাশন করার পরে কোনও ফাইল কার্যকর করা সম্ভব?


40

আমি একটি সংকুচিত মোতায়েন-সক্ষম অ্যাপ্লিকেশন করার চেষ্টা করছি।

বর্তমানে আমি আমার আইডিই (ভিজ্যুয়াল স্টুডিও ২০০৮ - ডাব্লুপিএফ প্রকাশিত অ্যাপ্লিকেশন) থেকে প্রকাশিত ফাইলগুলির একটি সেট নিয়ে যাচ্ছি এবং সেগুলি একটি 7-জিপ এসএফএক্স সংরক্ষণাগারটিতে সংকুচিত করছি।

আমার ব্যবহারকারীরা জিজ্ঞাসা করেছেন যে তারা 7-জিপ এক্সিপিতে "একটি ক্লিক ইনস্টল" করতে পারেন কিনা। সংরক্ষণাগারটি তৈরি করার সময় একটি পরামিতি তালিকা রয়েছে is ইনস্টলারের এক্সিকিউটেবল যা এক্সট্রাকটেবলকে ডেকে আনার জন্য প্যারামিটারগুলির এক ধরণের সংমিশ্রণের কোনও সেট সেট করার কোনও উপায় আছে?

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


আপনি কিছু প্রদত্ত কারও প্রতি নির্দেশ করতে পারেন?
অভিষেক

উত্তর:


35

আপনাকে 7-জিপ থেকে LMZA SDK ডাউনলোড করতে হবে । "ইনস্টলার টেক্সট" ফাইলটিতে ডকুমেন্টেশন রয়েছে:

7zSD.sfx ইনস্টলারগুলির জন্য এসএফএক্স মডিউল। 7zSD.sfx msvcrt.dll ব্যবহার করে।

ইনস্টলারগুলির জন্য এসএফএক্স মডিউলগুলি ইনস্টলেশন প্রোগ্রাম তৈরি করতে দেয়। এই জাতীয় মডিউলটি টেম্প ফোল্ডারে আর্কাইভ বের করে এবং তারপরে নির্দিষ্ট প্রোগ্রাম চালায় এবং প্রোগ্রাম শেষ হওয়ার পরে টেম্প ফাইলগুলি সরিয়ে দেয়। ইনস্টলারগুলির জন্য স্ব-উত্তোলনের সংরক্ষণাগারটি অবশ্যই 3 টি ফাইল যুক্ত হতে হবে: এসএফএক্স_মডিউল, ইনস্টলার_কনফিগ, 7 জেড_আর্কাইভ। ইনস্টলার_ কনফিগ হ'ল alচ্ছিক ফাইল। ইনস্টলারটি স্ব-উত্তোলন সংরক্ষণাগার তৈরি করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

copy /b 7zSD.sfx + config.txt + archive.7z archive.exe

আপনার একটি কনফিগারেশন ফাইল তৈরি করতে হবে।

কনফিগার ফাইলে ইনস্টলারের জন্য কমান্ড রয়েছে। ফাইলটি স্ট্রিং থেকে শুরু হয়ে ;!@Install@!UTF-8!শেষ হয় ;!@InstallEnd@!। ফাইলটি অবশ্যই ইউটিএফ -8 এনকোডিংয়ে লেখা উচিত। ফাইলটিতে স্ট্রিং জোড়া রয়েছে:

ID_String = "VALUE"

Title বার্তাগুলির জন্য শিরোনাম

BeginPrompt প্রম্পট বার্তা শুরু করুন

Progressমান "হ্যাঁ" বা "না" হতে পারে। ডিফল্ট মান "হ্যাঁ"।

RunProgramকার্যকর করার জন্য আদেশ। ডিফল্ট মান হ'ল "setup.exe"। অস্ট্রেলিয়ান %% টি অস্থায়ী ফোল্ডারে যাওয়ার পথে প্রতিস্থাপন করা হবে, যেখানে ফাইলগুলি বের করা হয়েছিল

Directory"রানপ্রগ্রাম" এর ডিরেক্টরি উপসর্গ। ডিফল্ট মান "। \"

ExecuteFile সম্পাদনের জন্য ফাইলের নাম

ExecuteParameters "এক্সিকিউট ফাইল" এর জন্য পরামিতি

উদাহরণ স্বরূপ:

 ;!@Install@!UTF-8!
 Title="7-Zip 4.00"
 BeginPrompt="Do you want to install the 7-Zip 4.00?"
 RunProgram="setup.exe"
 ;!@InstallEnd@!

1
হ্যাঁ। আমি চেষ্টা করেছি। কিছুটা অস্বস্তিকর কোজ হ'ল কমান্ড লাইন, তবে আপনি এটির জন্য ভাল ডকুমেন্টেশন পাবেন। এবং আমি নিখরচায় সর্বোত্তম সংক্ষেপণ পাই।
গণেশ আর।

@ মাইকেজি - এই লিঙ্কটি আরও অনেক গভীর। এটি ব্যাখ্যা করেছে যে কীভাবে ডিকম্প্রেশন অংশটি সম্পূর্ণ স্বচ্ছ করা যায়। খুব সুন্দর ধন্যবাদ!
নামুওল

5
নোট করুন যে সংস্করণ 9.35 বিটা হিসাবে "এসএফএক্স মডিউলগুলি এলজেডএমএ এসডিকে প্যাকেজে স্থানান্তরিত হয়েছিল" ( 7-zip.org এ উপলব্ধ )।
লুকাস

21

সম্মত সমাধানটি সঠিক, তবে আপনাকে আসলে কী করা দরকার তা বোঝাতে এটি আসলে সহায়তা করে না! আমি এটি এবং অন্যান্য অনেকগুলি সমাধান পড়েছি এবং এটি কীভাবে করা যায় তার জন্য সম্পূর্ণ এবং সম্পূর্ণ সহজ নির্দেশাবলী আমি খুঁজে পাইনি।

আমি যেমন ছিলাম তেমনি আপনিও বিভ্রান্ত, দয়া করে আমার ব্লগ পোস্টটি পড়ুন যা মলি 7244 পোস্ট করেছে তা কীভাবে অর্জন করতে হবে তার ধাপে ধাপে নির্দেশাবলী সরবরাহ করে।

কীভাবে একটি স্ব-উত্তোলন সংরক্ষণাগার তৈরি করা যায় যা 7zip -sfx স্যুইচ সহ আপনার সেটআপ.এক্স.কে চালায়

এটি আমার নজরে এনেছিল যে লিঙ্কগুলি মরে যেতে পারে তাই, আমার ব্লগ থেকে এই পদক্ষেপগুলি এখানে রয়েছে

পদক্ষেপ 1 - আপনার ইনস্টলেশন ফোল্ডারটি সেটআপ করুন

এটি সহজ করতে একটি ফোল্ডার তৈরি করুন সি: \ ইনস্টল করুন। এখানে আমরা প্রয়োজনীয় সমস্ত ফাইল অনুলিপি করব।

পদক্ষেপ 2 - 7 আপনার ইনস্টলারগুলিকে জিপ করুন

  1. আপনার .msi এবং আপনার setup.exe রয়েছে এমন ফোল্ডারে যান
  2. .Msi এবং setup.exe উভয়ই নির্বাচন করুন
  3. ডান ক্লিক করুন এবং 7 জিপ চয়ন করুন -> "সংরক্ষণাগারে যুক্ত করুন"
  4. আপনার সংরক্ষণাগারটির নাম "ইনস্টলার আ। 7 জেড" (বা আপনার পছন্দের একটি নাম)
  5. ওকে ক্লিক করুন
  6. আপনার এখন "ইনস্টলার .7 জেড" থাকা উচিত।
  7. এই .7z ফাইলটি আপনার সিটিতে অনুলিপি করুন: \ ডিরেক্টরি ইনস্টল করুন

পদক্ষেপ 3 - 7z-অতিরিক্ত এসএফএক্স এক্সটেনশন মডিউলটি পান

আপনাকে 7z-অতিরিক্ত ডাউনলোড করতে হবে।

  1. 7 জিপ ডাউনলোড করতে এই লিঙ্কটি অনুসরণ করুন
  2. আপনাকে 9.20 সংস্করণটি ডাউনলোড করতে হবে (@ মে -2015 হিসাবে) বিটাতে সঠিক ফাইল নেই।
  3. একটি সরাসরি ডাউনলোড লিঙ্ক।
  4. 7zip অতিরিক্ত ফাইলগুলি বের করুন
  5. "7zS.sfx" ফাইলটি সি: Copy ইনস্টল করুন Copy

পদক্ষেপ 4 - আপনার config.txt সেটআপ করুন

আমি এই টেক্সট ফাইলটি সম্পাদনা করতে নোটপ্যাড ++ ব্যবহার করার পরামর্শ দেব কারণ আপনাকে ইউটিএফ -8 এ এনকোড করতে হবে, নিম্নলিখিত নির্দেশাবলী নোটপ্যাড ++ ব্যবহার করছে।

  1. উইন্ডোজ এক্সপ্লোরার ব্যবহার করে সি: \ ইনস্টল করুন
  2. ডান ক্লিক করুন এবং "নতুন পাঠ্য ফাইল" চয়ন করুন এবং এর নাম config.txt
  3. ডান ক্লিক করুন এবং "নোটপ্যাড ++ দিয়ে সম্পাদনা করুন" নির্বাচন করুন
  4. "এনকোডিং মেনু" ক্লিক করুন এবং "ইউটিএফ -8 এ এনকোড" নির্বাচন করুন
  5. এর মতো কিছু প্রবেশ করুন:

    ;!@Install@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;!@InstallEnd@!
    

আপনার পণ্যের নামের সাথে [সফ্টওয়্যার v1.0.0.0] এর পরিবর্তে এটি সম্পাদনা করুন। পরামিতিগুলির নোটস এবং সেটআপ ফাইলটির বিকল্পগুলি এখানে রয়েছে

চেক্পইণ্ট

আপনার এখন নিম্নলিখিত 3 টি ফাইল সহ একটি ফোল্ডার "সি: \ ইনস্টল করুন" থাকা উচিত:

  1. Installer.7z
  2. 7zS.sfx
  3. config.txt

পদক্ষেপ 5 - সংরক্ষণাগার তৈরি করুন

এই নির্দেশাবলী আমি ওয়েবে পেয়েছি কিন্তু এটি উপরে 4 টি ধাপের কোনও ব্যাখ্যা দেয় নি।

  1. একটি সেমিডি উইন্ডো খুলুন, উইন্ডো + আর -> সেমিডি -> এন্টার টিপুন
  2. কমান্ড উইন্ডোতে নিম্নলিখিত টাইপ করুন

    cd \
    cd Install
    copy /b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe
    
  3. সি দেখুন: \ ইনস্টল করুন এবং আপনি এখন দেখতে পাবেন যে আপনি একটি মাইআইনস্টল.আর.সি.

  4. আপনি শেষ

ইনস্টলারটি চালান

MyInstaller.exe এ ডাবল ক্লিক করুন এবং এটি আপনার বার্তার সাথে অনুরোধ জানাবে। ঠিক আছে ক্লিক করুন এবং setup.exe চলবে।

অটোমেশনে পিএস নোট

এখন আপনার সিটিতে এটি কাজ করে চলেছে: \ ডিরেক্টরিটি ইনস্টল করুন আমি একটি "ইনস্টল.বাট" ফাইল তৈরি করব এবং এতে অনুলিপি স্ক্রিপ্টটি রেখে দেব।

copy /b 7zS.sfx + config.txt + Installer.7z MyInstaller.exe

প্রতিবার আপনার স্থাপনার প্যাকেজের নতুন সংস্করণটি পুনর্নির্মাণ করার জন্য আপনি কেবল ইনস্টল.বাটকে সম্পাদনা করতে এবং চালাতে পারেন।


2
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত!
নোভেলিস

ExecuteParametersআইটেমটিতে একটি কমান্ড লাইন আরগ পাস করা সম্ভব config.txt? উদাহরণস্বরূপ: C:\Install\MyInstaller.exe some_file.txt কার্যকর করা হবে setup.exe some_file.txt
dthor

হ্যাঁ তাই হয়। ম্যাথি-লুন্ডবার্গ তার উত্তরে বলেছিলেন , "এসএফএক্স এক্সিকিউটেবলের কাছে প্রেরিত যুক্তিগুলি ইনস্টল.সিএমডি স্ক্রিপ্টের সাথে পাস করা হয়েছে"
dthor

8

আপনার এনএসআইএসের দিকেও নজর দেওয়া উচিত । এটির সাহায্যে আপনি একটি ইনস্টলার তৈরি করতে পারেন যা 7-জিপ ব্যবহার করে ( এলজেডএমএ ) একই পদ্ধতিতে সংকুচিত হয় , সুতরাং এটি প্রায় একই আকারের হওয়া উচিত, এবং ইনস্টলেশন প্রক্রিয়াটির উপরে আপনার সম্পূর্ণ নিয়ন্ত্রণ রয়েছে।


2

Jcrawfor74 এর উত্তরে বিল্ডিং, এখানে কিছু অতিরিক্ত তথ্য দেওয়া হয়েছে:

পরিবর্তে 7zS.sfx , এছাড়াও আপনি ফাইল ব্যবহার করতে পারেন 7zS2.sfx । এটি অনেক ছোট সংস্করণ (২৮ কেবি বনাম ১৪০ কেবি) তবে এটি কনফিগারেশন। টেক্সট ফাইল সমর্থন করে না। সুতরাং আপনি এটি কপি কমান্ডের মধ্যে রেখে দিতে পারেন। যদি আপনি কেবল ক্ষুদ্রতর কনফিগারেশন স্ক্রিপ্ট তৈরি করতে চান তবে এটি আপনাকে আরও ছোট EXE ফাইল তৈরি করতে দেয়।

ছোট এসএফএক্স মডিউল কোনও প্রশ্ন জিজ্ঞাসা করে না। এটি অন্যান্য মডিউল হিসাবে অস্থায়ী ফোল্ডারে ফাইলগুলি বের করে এবং তারপরে এক্সিকিউটেবল প্রার্থী খুঁজে পায়। সোর্স কোড অনুসারে (ডাউনলোড পৃষ্ঠাগুলিতেও উপলভ্য) সি \ ইউটিল \ এসএফএক্সসেটআপ f এসএফএক্সসেটআপ.সি তে এটি তাদের নাম এবং এক্সটেনশনের উপর ভিত্তি করে ফাইলগুলি আলাদাভাবে ওজন করে এবং তারপরে সর্বোচ্চ স্কোরিং ফাইলটি তোলে।

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

আপনার যদি এমন কোনও এসএফএক্স মডিউল প্রয়োজন হয় যা প্রশাসনের অনুমতি চাইবে না, আপনি উত্স থেকে এসএফএক্স মডিউলটি পুনরায় তৈরি করতে পারেন বা সরল, এর মতো কোনও সংস্থান সম্পাদকের সাথে এর ফাইল সংস্করণ তথ্য সম্পাদনা করতে পারেন । উল্লিখিত রিসোর্স হ্যাকারের ক্ষেত্রে ফাইলডেস্ক্রিপশন ক্ষেত্রটি থেকে "সেটআপ" শব্দটি সরিয়ে ফেলুন এবং EXE ফাইলটি সংরক্ষণ করুন। আপনি 7zS.sfx বা 7zS2.sfx ফাইলটিতে সরাসরি এই পদক্ষেপটি সম্পাদন করতে এবং এটি অন্য কোথাও রাখতে পারেন যাতে আপনি এটি অ-উন্নত এসএফএক্স প্যাকেজগুলি তৈরি করতে ব্যবহার করতে পারেন। এবং আপনি নিজের পণ্যের নাম বা এতে পেডলোডকে বর্ণনা করে এমন কোনও কিছু রাখতে ফাইল সংস্করণ তথ্য সম্পূর্ণরূপে কাস্টমাইজ করতে ব্যবহার করতে পারেন।

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