वायरस संक्रमण या सिस्टम रजिस्ट्री को गलत तरीके से बदलने के बाद, उपयोगकर्ता इस तथ्य का सामना कर सकता है कि एक्ज़ीक्यूटेबल EXE-फाइलें (इंस्टॉलेशन MSI-फाइलें या PowerShell/CMD/VBScript फाइलें) Windows में नहीं खुल रही हैं। जब आप फाइल एक्सप्लोरर से कोई भी प्रोग्राम (शॉर्टकट) चलाते हैं, तो कुछ नहीं होता, एक विंडो दिखाई देती है जो प्रोग्राम चुनने के लिए कहती है या सभी EXE फाइलें किसी अन्य प्रोग्राम (उदाहरण के लिए, notepad.exe या paint.exe) में खुलती हैं। इस लेख में, हम देखेंगे कि जब आप Windows पर किसी भी एक्ज़ीक्यूटेबल फ़ाइल या एप्लिकेशन को नहीं चला सकते तो समस्या को कैसे ठीक करें।
Windows पर टूटी EXE फ़ाइल एसोसिएशन कैसे ठीक करें?
जब आप Windows में कोई भी एप्लिकेशन *.exe फ़ाइल चलाते हैं, तो एक विंडो दिखाई देती है जो प्रोग्राम चुनने के लिए कहती है (How do you want to open this file?):

या त्रुटियाँ दिखाई देती हैं:
This file does not have an app associated with it for performing this action. Please install an app, if one is already installed, create an association in the Defaults Apps Settings page.
Windows cannot access the specified device, path, or file. You may have the appropriate permissions to access the item.
Windows can't open this file.

अक्सर, यह समस्या वायरस संक्रमण या Windows रजिस्ट्री को "ऑप्टिमाइज़" करने के असफल प्रयास के बाद दिखाई देती है। इस समस्या का स्रोत यह है कि Windows रजिस्ट्री में *.exe फ़ाइलों के लिए फ़ाइल एसोसिएशन रीसेट हो गए थे। Windows पर एक्ज़ीक्यूटेबल फ़ाइलों के लिए एसोसिएशन पुनर्स्थापित करने के लिए, आपको रजिस्ट्री एडिटर (regedit.exe) का उपयोग करने की आवश्यकता है, लेकिन यह भी नहीं खुलेगा क्योंकि यह भी एक एक्ज़ीक्यूटेबल फ़ाइल है। न तो cmd.exe और न ही PowerShell खुलता है। इस मामले में क्या करें?
- अपने डेस्कटॉप पर एक सिंपल टेक्स्ट फ़ाइल बनाएँ;
- फ़ाइल में निम्न लाइन पेस्ट करें:
start cmd - फ़ाइल का नाम बदलकर run.bat करें;
- फ़ाइल पर राइट-क्लिक करें और Run as administrator चुनें;

- UAC में विशेषाधिकार वृद्धि की पुष्टि करें और एक एलिवेटेड कमांड प्रॉम्प्ट विंडो खुल जाएगी;
- आप regedit.exe चला सकते हैं और रजिस्ट्री में मैन्युअली परिवर्तन कर सकते हैं (विधि नीचे वर्णित है) या कमांड प्रॉम्प्ट विंडो में निम्न कोड पेस्ट करें:
reg delete HKEY_CLASSES_ROOT\.exe /ve /f
reg add HKEY_CLASSES_ROOT\.exe /ve /d exefile /f
reg delete HKEY_CLASSES_ROOT\exefile /ve /f
reg add HKEY_CLASSES_ROOT\exefile /ve /d Application /f
reg delete HKEY_CLASSES_ROOT\exefile\shell\open\command /ve /f
reg add HKEY_CLASSES_ROOT\exefile\shell\open\command /f /ve /d "\"%1\" %*\"
assoc .exe=exefile

- ये कमांड EXE फ़ाइल एसोसिएशन को डिफ़ॉल्ट पर रीसेट कर देंगी;
- अपना कंप्यूटर पुनरारंभ करें और कोई भी ऐप चलाने का प्रयास करें।
यदि आपके कंप्यूटर पर *.bat और *.cmd फ़ाइलें भी शुरू नहीं होती हैं, तो आपको सेफ मोड में मैन्युअली रजिस्ट्री संपादित करनी होगी।
- कंप्यूटर को सेफ मोड में बूट करें (लगातार तीन बार पावर बटन दबाकर Windows बूट को इंटरप्ट करें);
- कंप्यूटर Windows रिकवरी एनवायरनमेंट (WinRE) में बूट होगा। Troubleshoot -> Advanced options -> Startup Settings -> Restart चुनें। Windows को सेफ मोड में बूट करने के लिए F4 दबाएँ;
- रजिस्ट्री एडिटर (
regedit.exe) चलाएँ और रजिस्ट्री कुंजी HKEY_CLASSES_ROOT\.exe; पर जाएँ; - Default रजिस्ट्री पैरामीटर मान को exefile में बदलें;

- फिर HKEY_CLASSES_ROOT\exefile\shell\open\command पर जाएँ और Default पैरामीटर का मान
"%1" %*में बदलें
- फिर, इसी तरह, HKCR\exefile\shell\open और HKCR\exefile रजिस्ट्री कुंजियों में Default पैरामीटर का मान
"%1" %*में बदलें; - अपने कंप्यूटर को सामान्य रूप से पुनरारंभ करें। फाइल एक्सप्लोरर को अब डिफ़ॉल्ट EXE फ़ाइल एसोसिएशन का उपयोग करना चाहिए। कोई भी *.exe फ़ाइल चलाने का प्रयास करें।
अतिरिक्त रूप से, आपको *.exe फ़ाइल एसोसिएशन पुनर्स्थापित करने के लिए इन चरणों की जाँच करनी चाहिए:
- EXE फ़ाइल एसोसिएशन रीसेट करने की कमांड निष्पादित करें:
assoc .exe=exefile - जाँचें कि रजिस्ट्री कुंजी HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe में UserChoice कुंजी अनुपस्थित है। यदि ऐसी कुंजी है, तो इसे डिलीट करें;
- Windows इमेज और सिस्टम फ़ाइलों की अखंडता जाँचें कमांड का उपयोग करके:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth - सुनिश्चित करें कि आपका एंटी-वायरस प्रोग्राम एक्ज़ीक्यूटेबल फ़ाइलों के लॉन्च को ब्लॉक नहीं करता;
- यदि Windows एक्ज़ीक्यूटेबल फ़ाइलें खोलते समय सुरक्षा चेतावनी प्रदर्शित करता है, तो इस लेख में निर्देशों का पालन करें।
Windows नेटवर्क शेयर से EXE फ़ाइलें नहीं चला सकता
यदि उपयोगकर्ता अपने कंप्यूटर्स पर स्थानीय रूप से EXE फ़ाइलें चला सकते हैं, लेकिन नेटवर्क शेयर्ड फ़ोल्डर्स से फ़ाइलें लॉन्च करते समय त्रुटि दिखाई देती है, तो समस्या का कारण अलग हो सकता है।
- शेयर्ड फ़ोल्डर या फ़ाइल के लिए वर्तमान NTFS अनुमतियाँ जाँचें। यदि उपयोगकर्ता को NTFS Read/Execute अनुमति नहीं दी गई है, तो एक्ज़ीक्यूटेबल फ़ाइल चलाते समय त्रुटि दिखाई देगी:
Windows cannot access \\server1\sharedfolder\file.exe. You do not have permission to access applicatin.exe file.

NTFS अनुमतियाँ मैन्युअली या PowerShell के माध्यम से बदलें।

- एग्जीक्यूटेबल फ़ाइल को कम्पैटिबिलिटी मोड में चलाने का प्रयास करें। ऐसा करने के लिए, EXE फ़ाइल के गुण खोलें, Compatibility टैब पर जाएँ, Windows 8 के साथ कम्पैटिबिलिटी मोड चुनें। नेटवर्क शेयर से एप्लिकेशन चलाने का प्रयास करें।

समस्या इस तथ्य से संबंधित हो सकती है कि आप किसी ऐसे डिवाइस पर स्थित शेयर्ड फ़ोल्डर से कनेक्ट करने का प्रयास कर रहे हैं जो केवल SMB v1 प्रोटोकॉल का समर्थन करता है (यह NAS स्टोरेज डिवाइस, लीगेसी OS संस्करण वाला फाइल सर्वर हो सकता है, जैसे Windows XP या Windows Server 2003)।
त्रुटियाँ इसका संकेत दे सकती हैं:
The application was unable to start correctly (0xc00000ba)
Exception thrown at 0x00007FFA2B86624E
0xC0000005: Access violation reading location 0x0000000000000000)नोट. जब क्लाइंट और सर्वर SMB प्रोटोकॉल पर इंटरैक्ट करते हैं, तो संचार के लिए अधिकतम प्रोटोकॉल संस्करण चुना जाता है, जो क्लाइंट और सर्वर दोनों द्वारा समर्थित होता है (Windows में SMB संस्करणों पर लेख देखें)। आप
Get-SmbConnection PowerShell cmdlet का उपयोग करके यह निर्धारित कर सकते हैं कि आपका क्लाइंट फाइल सर्वर से कनेक्ट करने के लिए किस SMB संस्करण का उपयोग कर रहा है। 
कमांड का उपयोग करके जाँचें कि आपके फाइल सर्वर पर SMBv2 या SMBv3 सक्षम है:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
यदि SMBv2 अक्षम है, तो आप इसे सक्षम कर सकते हैं:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
साथ ही, यदि आप Linux Samba को फाइल सर्वर के रूप में उपयोग कर रहे हैं, तो आप कॉन्फ़िगरेशन फ़ाइल smb.conf में SMB1 को अक्षम कर सकते हैं। [global] सेक्शन में लाइन min protocol = SMB2 जोड़ें और Samba को पुनरारंभ करें।
डिफ़ॉल्ट रूप से, आप Windows Server 2003 पर चल रहे फाइल सर्वर या केवल SMB1 का समर्थन करने वाले NAS डिवाइस पर होस्ट किए गए शेयर्ड फ़ोल्डर्स तक नहीं पहुँच सकते। आधुनिक Windows 10 बिल्ड से ऐसे SMB शेयर तक पहुँचने के लिए, आपको उपयोगकर्ताओं के कंप्यूटर्स पर SMB 1.0/CIFS Client सक्षम करना होगा (जो सुरक्षा कारणों से अनुशंसित नहीं है)।

इस मामले में सही समाधान, एक्ज़ीक्यूटेबल फ़ाइलों वाले शेयर्स को Windows Server 2012 R2/2016/2019 पर माइग्रेट करना है, जहां SMB1 प्रोटोकॉल अक्षम है। इस मामले में, आप अपने Windows 10 डिवाइस से शेयर्ड फ़ोल्डर्स में स्थित एक्ज़ीक्यूटेबल फ़ाइलें चला सकेंगे।