2010-02-23 5 views
8

मुझे यहां एक साफ सवाल है।Windows Server 2008 x64 पर reg.exe का नाम बदलने का कारण यह चलाने में विफल रहता है?

पिछले कुछ समय से एक उपयोगिता बुलाया Reg.exe thats विंडोज के साथ भेज दिया गया है। स्क्रिप्ट से .reg फ़ाइलों को आयात करने, स्क्रिप्ट से मूल्यों को संशोधित करने आदि के लिए बहुत आसान है। इसलिए जब स्क्रिप्ट परिदृश्य के लिए इसकी प्रतिलिपि बनाते हैं ("सिस्टम 32 में प्रतिलिपि का उपयोग क्यों न करें?" -> सॉफ़्टवेयर प्रतिबंध नीतियां, व्यक्तिगत pref , आदि) मैंने देखा है कि नाम बदलने इसे चुपचाप असफल बनाता है:

विंडोज सर्वर 2008 64:

Microsoft Windows [Version 6.0.6001] 
Copyright (c) 2006 Microsoft Corporation. All rights reserved. 

C:\Windows\system32>reg.exe 
ERROR: Invalid syntax. 
Type "REG /?" for usage. 

C:\Windows\system32>copy reg.exe reg2.exe 
     1 file(s) copied. 

C:\Windows\system32>reg2.exe 

C:\Windows\system32>reg2.exe /? 


C:\Windows\system32>reg.exe /? 

REG Operation [Parameter List] 

    Operation [ QUERY | ADD | DELETE | COPY | 
       SAVE | LOAD | UNLOAD | RESTORE | 
       COMPARE | EXPORT | IMPORT | FLAGS ] 

Return Code: (Except for REG COMPARE) 

    0 - Successful 
    1 - Failed 

For help on a specific operation type: 

    REG Operation /? 

Examples: 

    REG QUERY /? 
    REG ADD /? 
    REG DELETE /? 
    REG COPY /? 
    REG SAVE /? 
    REG RESTORE /? 
    REG LOAD /? 
    REG UNLOAD /? 
    REG COMPARE /? 
    REG EXPORT /? 
    REG IMPORT /? 
    REG FLAGS /? 

C:\Windows\system32> 

लेकिन Windows XP x86 के साथ:

Microsoft Windows XP [Version 5.1.2600] 
(C) Copyright 1985-2001 Microsoft Corp. 

C:\Documents and Settings\chris>cd \WINDOWS\system32 

C:\WINDOWS\system32>reg.exe 

Console Registry Tool for Windows - version 3.0 
Copyright (C) Microsoft Corp. 1981-2001. All rights reserved 


REG Operation [Parameter List] 

    Operation [ QUERY | ADD | DELETE | COPY | 
       SAVE | LOAD | UNLOAD | RESTORE | 
       COMPARE | EXPORT | IMPORT ] 

Return Code: (Except of REG COMPARE) 

    0 - Succussful 
    1 - Failed 

For help on a specific operation type: 

    REG Operation /? 

Examples: 

    REG QUERY /? 
    REG ADD /? 
    REG DELETE /? 
    REG COPY /? 
    REG SAVE /? 
    REG RESTORE /? 
    REG LOAD /? 
    REG UNLOAD /? 
    REG COMPARE /? 
    REG EXPORT /? 
    REG IMPORT /? 

C:\WINDOWS\system32>copy reg.exe reg2.exe 
     1 file(s) copied. 

C:\WINDOWS\system32>reg2.exe 

Console Registry Tool for Windows - version 3.0 
Copyright (C) Microsoft Corp. 1981-2001. All rights reserved 


REG Operation [Parameter List] 

    Operation [ QUERY | ADD | DELETE | COPY | 
       SAVE | LOAD | UNLOAD | RESTORE | 
       COMPARE | EXPORT | IMPORT ] 

Return Code: (Except of REG COMPARE) 

    0 - Succussful 
    1 - Failed 

For help on a specific operation type: 

    REG Operation /? 

Examples: 

    REG QUERY /? 
    REG ADD /? 
    REG DELETE /? 
    REG COPY /? 
    REG SAVE /? 
    REG RESTORE /? 
    REG LOAD /? 
    REG UNLOAD /? 
    REG COMPARE /? 
    REG EXPORT /? 
    REG IMPORT /? 

C:\WINDOWS\system32> 

WinDbg मुझे उस सीआरटी बताने के लिए लगता है इसे मार रहा है:

Child-SP   RetAddr   Call Site 
00000000`0016f798 00000000`779d2f8b ntdll!ZwTerminateProcess+0xa 
00000000`0016f7a0 000007fe`fe97d832 ntdll!RtlExitUserProcess+0x8b 
00000000`0016f7d0 00000000`ffe7f710 msvcrt!cinit+0x13b 
00000000`0016f810 00000000`778a495d reg!DynArrayGetItemType2+0x1fc 
00000000`0016f850 00000000`779d8791 kernel32!BaseThreadInitThunk+0xd 
00000000`0016f880 00000000`00000000 ntdll!RtlUserThreadStart+0x1d 

लेकिन जैसा कि मैं WinDbg के साथ बहुत अनुभवी नहीं हूं (और यह 64 बिट है, तो, कहें, ओलिडबग विफल रहता है) मैं यहां एक नुकसान में हूं। आपके पास किसी भी जानकारी के लिए धन्यवाद।

संपादित

CyberShadow की मदद और googling के एक बिट करने के लिए धन्यवाद, मैं समाधान नहीं मिला: यह (यह अनुवाद है) स्थापित वर्तमान भाषा का एक सबफ़ोल्डर में .mui के लिए लग रहा है।

Microsoft Windows [Version 6.0.6001] 
Copyright (c) 2006 Microsoft Corporation. All rights reserved. 

C:\Windows\system32>cd en-US 

C:\Windows\System32\en-US>copy reg.exe.mui reg2.exe.mui 
     1 file(s) copied. 

C:\Windows\System32\en-US>cd .. 

C:\Windows\System32>reg2 
ERROR: Invalid syntax. 
Type "REG /?" for usage. 

C:\Windows\System32>del en-US\reg2.exe.mui 

C:\Windows\System32>reg2 

C:\Windows\System32> 
+0

मैं Win7 x64 पर एक ही चीज़ देखता हूं। Reg.exe को दूसरी निर्देशिका में कॉपी करना उसी तरह विफल रहता है। यह सुनिश्चित करने के लिए सुरक्षा जांच की तरह लगता है कि आप सिस्टम निर्देशिका से बिल्कुल "reg.exe" चला रहे हैं। – karoberts

उत्तर

2

एक डिबगर के साथ एक सा चारों ओर खेलने के द्वारा, मैंने पाया कि LoadString (जो उपयोग और त्रुटि संदेश प्राप्त करने के लिए प्रयोग किया जाता है) रिटर्न ERROR_MUI_FILE_NOT_LOADED। मुझे लगता है कि कुछ हद तक बताते हैं कि यह :)

नोट्स:

  • ट्रेस ढेर यही कारण है कि गुमराह (या कम से कम हम एक ही प्रभाव के साथ विभिन्न समस्या दिखाई दे रही) हो रहा है। कॉपी/नामित होने पर एप्लिकेशन सामान्य रूप से कुछ प्रिंट किए बिना बाहर निकलता है।
  • संदेशों को प्रदर्शित करने में सक्षम नहीं होने के अलावा, उपयोगिता ठीक काम करने के लिए जारी है।
  • यह भी 32-बिट संस्करण (आप SysWOW64 में मिल सकता है) को प्रभावित करता है।
+0

धन्यवाद जानकारी के लिए, मैंने सोचा कि यह कुछ ऐसा है जो की तरह मूर्खतापूर्ण था। किसी भी विचार को एमयूआई फाइल को पुनर्नामित प्रतिलिपि के साथ कैसे पुन: स्थापित करना है? जब तक निष्पादन योग्य अभी भी आगे बढ़ता है और यह बात करता है, तो यह जानना अच्छा होता है। आपकी सहायताके लिए धन्यवाद! – NoName

+0

फिर से धन्यवाद, मुझे वह एमयूआई मिला जो वह चाहता था।मुझे एहसास हुआ कि मैंने जो स्टैक ट्रेस पोस्ट किया था, वह प्रक्रिया से बाहर निकलने के बाद था - यह समझ में आता है कि सब कुछ के साथ किया जाने के बाद, इसे ExitProcess कहा जाता है। भ्रामक निशान के लिए खेद है। समाधान के साथ सवाल अद्यतन किया। – NoName

+1

आह हाँ, वह यह करेगा। Reg.exe.mui खोजें और इसका नाम बदलें, और यह सब काम करेगा। –

0

जंगली अनुमान यहाँ है, लेकिन कुछ क्षुधा निर्धारित करने के लिए यह क्या करना चाहिए आवेदन के नाम का उपयोग - यह एक पुराने यूनिक्स चाल है; उदाहरण के लिए, /bin/false और /bin/true समान बाइनरी हैं, लेकिन नाम निर्धारित करता है कि कौन सा परिणाम वापस आना है।

आप ऐसा जब आप लेखन 2 + प्रोग्राम हैं जो 99.9% समान हैं अंत है, और आप प्रत्येक के लिए अलग codebases बनाए रखने के लिए नहीं करना चाहती।

+1

मैंने सोचा कि यह हो सकता है, लेकिन मुझे नहीं लगता था एमएस यह करना होगा (और ऐसा लगता है कि वे नहीं किया है, CyberShadow की प्रतिक्रिया देखें) – NoName

संबंधित मुद्दे