কমান্ড লাইন থেকে এক্সিকিউটেবলের জন্য আমি কীভাবে সামঞ্জস্যতা মোড সেট করতে পারি?


21

এক্সপি বিকল্পের সাথে সামঞ্জস্যতা সেট করার কোনও উপায় আছে (ডান ক্লিক / বৈশিষ্ট্য / সামঞ্জস্য ... এটি হ্যাঁ :) কমান্ড লাইন থেকে এক্সিকিউটেবলের কাছে?

বা আরও ভাল, একটি সম্পূর্ণ ডিরেক্টরি (ডিরেক্টরিতে এক্সিকিউটেবল) এর সাথে সামঞ্জস্যতা স্থাপনের কোনও উপায় রয়েছে, যাতে প্রতিটি নির্বাহযোগ্য যা সংকলিত / বিল্ড হয় সেটির ইতিমধ্যে "পতাকা" রয়েছে?


1
@ কোডি গ্রে - কারণ আমি একটি পুরানো সংকলক আইডিই ব্যবহার করছি (উইন 95 থেকে); কোনও নতুনতে পরিবর্তন করা কিছু ব্যয়কে উদ্বুদ্ধ করবে যে আমরা এখনই প্রস্তুত নই। আমি যদি এটি তৈরি করি এবং এটি আইডিই থেকে শুরু করি তবে পুরো জিনিসটি ক্র্যাশ হয়ে যায়। যদি আমি সামঞ্জস্যতা রাখি এবং এটি এক্সপ্লোরার থেকে শুরু করি তবে এটি কার্যকর হয়। যা আমার পক্ষে যথেষ্ট ভাল। কেবল আমি বিল্ডের পরে প্রতিবারের মতো সামঞ্জস্যের পতাকা লাগাতে পছন্দ করি না। সুতরাং প্রশ্ন ... :)
রক

1
@ কোডি গ্রে - ঠিক আছে, আমি আপনাকে পুরো গল্পটি দিতে পারলাম তবে আমি সন্দেহ করি এটি এখানে কমেন্টস বাক্সে (বা তাদের তিনটি) ফিট হবে, তাই আমি প্রশ্নটি আরও কিছুক্ষণের জন্য উন্মুক্ত রেখে দেব ...
রুক

1
আহ, আমি জানি যে আমি একটি নিবন্ধে পড়া মনে আছে। আমি অবশেষে এটি খুঁজে পেয়েছি এবং উত্তরোত্তর জন্য একটি উত্তর পোস্ট করেছি। :-) আমার ঠাট্টা-বিদ্রূপ অবহেলা করতে নির্দ্বিধায়, তবে আমি একটি গুরুতর সন্দেহ যে আপনি একটি বিকল্প পদ্ধতি পাবেন।
কোডি গ্রে

উত্তর:


29

আমি এমন কোনও সরঞ্জাম জানি না যা অ্যাপ্লিকেশনের সামঞ্জস্যতা পতাকাগুলি সেট বা পরিবর্তন করতে দেয়।

তবে অ্যাপ্লিকেশন তুলনামূলকভাবে পতাকাগুলি রেজিস্ট্রিতে (ব্যবহারকারী বা সিস্টেম অংশ) সংরক্ষণ করা হয়:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

অতএব প্রয়োজনীয় প্রবেশিকা তৈরির জন্য আপনি আদর্শ কমান্ড লাইন রেজিস্ট্রি সম্পাদকটি ব্যবহার করতে পারেন:

reg.exe Add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files\MyApp\Test.exe" /d "WINXPSP3"

উপলভ্য পতাকাগুলি সম্পর্কে আরও তথ্যের জন্য অ্যাডমিনিস্ট্রেটর বা সামঞ্জস্যতা মোডে কোনও অ্যাপ্লিকেশন চালানো ব্লগ পোস্টটি দেখুন ।


1
হুম, এটি কেবল (!) কাজ করতে পারে ... তৃতীয় লাইনের "reg.exe ..." ... তাই যদি আমি এটি কোনও ডিরেক্টরিতে আমার প্রতিটি প্রতিবেদনের জন্য সেট করে রাখি তবে এটি মৃত্যুদন্ড কার্যকর করার সাথেও "যুক্ত থাকবে" যদি তা আবার তৈরি হয়?
রোকে

2
"সমস্ত ব্যবহারকারীর জন্য সেটিংস পরিবর্তন করুন" বোতামটি টিপ না করা হলে ডান ক্লিকের> বৈশিষ্ট্য> সামঞ্জস্যের স্বাভাবিক আচরণ HKCU এর অধীন কীগুলি সেট করা। তারপরে এটি সমস্ত ব্যবহারকারীর জন্য এইচকেএলএম এর অধীনে সেট করা আছে এবং ডায়ালগের মাধ্যমে পরিবর্তন করা যায় না।
মাইক ব্রাউন

17

3
+1 .bat এর মাধ্যমে একটি .exe শুরু করা সবচেয়ে কম আক্রমণাত্মক সমাধান বলে মনে হচ্ছে
ওল্ফ

11

রবার্টের উত্তর স্পট-অন ছিল। এটিতে কিছুটা প্রসারিত করতে, এবং মোড এবং ম্যাসে মোড সেট করার বিষয়ে ওপির প্রশ্নের উত্তর দিন ...

প্রক্রিয়া করার জন্য আপনার কাছে .exe ফাইল পূর্ণ ফোল্ডার থাকলে আপনি এটি করতে পারেন:

for %x in ("*.exe") do reg.exe Add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%~fx" /d "WINXPSP3"

এই উদাহরণ HKLM এর পরিবর্তে HKCU ব্যবহার করে; আপনি যা চান তা বেছে নিতে ভুলবেন না

প্রত্যেকের জন্য একটি নিশ্চিতকরণ প্রম্পট সহ সেটিংসগুলি সরিয়ে ফেলতে:

for %x in ("*.exe") do reg.exe Delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%~fx"

/fআপনি যদি নিশ্চিতকরণের জন্য অনুরোধ না চান তবে শেষ পর্যন্ত যুক্ত করুন ।

(আপনি যদি এই উত্তরটি দিয়ে থাকেন তবে রবার্টকেও ভোট দিন!)

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