Đổi tên dll trong thư mục Windows


-2

Tôi cần đổi tên một dll nhất định trên máy Windows 7 của mình (chính xác là comctl32.dll) để thay thế nó bằng một phiên bản khác của tệp này.

Tôi đã thử:

  1. [bên dưới: Nhấp chuột phải, thuộc tính, bảo mật, quyền, nâng cao, chủ sở hữu] đã thay đổi chủ sở hữu thành người dùng hiện tại và [dưới: nhấp chuột phải, bảo mật] đã cung cấp tất cả các quyền có thể cho người dùng hiện tại. Đã thử [Nhấp chuột phải, đổi tên] - không thể đổi tên, truy cập bị từ chối.
  2. Bắt đầu một cmd quản trị (quyền nâng cao) và sử dụng lực lượng:

    takeown /f comctl32.dll
    icacls "comctl32.dll" /grant (current user):F
    rename comctl32.dll comctl32.old 
    

    Được phép từ chối.

  3. Điều đó làm tôi tức giận vì vậy tôi đã bắt đầu một trình bao với tư cách là người dùng Hệ thống (theo các bước được nêu trong [1]) và cố gắng đổi tên tệp bằng cách sử dụng rename comctl32.dll comctl32.oldtrong trình bao này. Kết quả một lần nữa trong sự cho phép bị từ chối.

Tôi nghĩ rằng hệ thống shell cho tôi về cơ bản là chế độ thần, vì vậy điều này khá khó chịu! Bất cứ ai cũng có bất kỳ đề xuất nào thêm về cách đổi tên tập tin này hoặc những gì từ chối tôi truy cập? Tôi hoàn toàn thua lỗ!

[1] http://bloss.technet.com/b/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008 .aspx

// EDIT:
Đến bây giờ tôi cũng đã thử công cụ Unlocker. Nó không thể đổi tên tập tin, nhưng hứa sẽ thử và làm như vậy sau khi khởi động lại. Tôi đã khởi động lại hệ thống nhưng người bạn cũ của tôi vẫn không đổi tên.

// EDIT 2:
Dựa trên các downvote và bình luận, tôi muốn thêm một dòng cảnh báo cho những người dùng đồng nghiệp của tôi với cùng một câu hỏi. Chỉ làm điều này nếu bạn biết những gì và tại sao bạn đang làm nó. Nếu không, bạn có thể sụp đổ hệ thống của bạn.
Thực tế tôi biết tôi làm gì: Tôi cần thay thế một tệp đã bị hỏng. Những gì tôi không biết là LÀM THẾ NÀO để làm điều đó. Vì vậy, không cần phải đề cập đến những nguy hiểm ở đây hoặc hạ thấp câu hỏi chỉ vì nó thể gây nguy hiểm cho tính toàn vẹn của hệ thống. Trong thực tế, chỉ cần sử dụng một hệ thống là một mối nguy hiểm cho tính toàn vẹn của nó - tại sao lại trừng phạt một câu hỏi hợp pháp cho cùng một tài sản?


6
KHÔNG BAO GIỜ LÀM ĐIỀU NÀY; NÀY S BRE BREAK WINDOWS CỦA BẠN! Điều này nghe có vẻ như là một vấn đề XY: meta.stackexchange.com/questions/66377/what-is-the-xy-pro
Hiệu

Quả thực đây là một vấn đề XY. Tuy nhiên tôi không cần giúp đỡ với vấn đề thực tế của mình, điều này sẽ rất phức tạp để đăng ở đây. Tôi cần giúp đỡ với việc thực hiện giải pháp của tôi. Tôi biết khá chính xác những gì tôi làm, mà bạn có thể đã thu thập được từ các giải pháp tôi đã thử cho đến nay. Vì vậy, trong khi tôi cảm ơn bạn đã cảnh báo tôi, tôi phải nói rằng tôi coi đó là điều bất lịch sự khi hạ thấp một câu hỏi dựa trên giả định không chính đáng về sự bất tài của OP. Tại sao không giả sử OP biết anh ta làm gì và giúp anh ta? :)
Zakum

2
nếu bạn cần thay thế một tệp bị hỏng, hãy chạy sfc / scannow và chạy checksur: technet.microsoft.com/en-us/l
Library / ee619779% 28WS.10% 29.aspx

1
@Zakum: Tôi sẽ lắng nghe những gợi ý của người khác và giải thích lý do của bạn tốt hơn. Nếu bạn chỉ muốn sửa một tệp hệ thống bị hỏng, có những phương pháp tự động để thực hiện nó mà không liên quan đến việc phá vỡ hầu hết các biện pháp bảo mật của Windows.
qasdfdsaq

1
Cài đặt bản cập nhật KB2966583 trong Win7 và chạy DISM / Trực tuyến / Dọn dẹp-Hình ảnh / Scanhealth
magicandre1981

Câu trả lời:


2

Bạn không thể có quyền truy cập vào nó (bất kể quyền của bạn) vì chính Windows đang sử dụng nó để hoạt động.

Khởi động từ một hệ điều hành khác (như nói, Linux LiveCD hoặc đĩa cài đặt Windows) và đổi tên nó từ đó.

Cảnh báo : Đây là một ý tưởng thực sự tồi tệ và có thể sẽ ngăn Windows của bạn khởi động. Đảm bảo bạn tạo một bản sao lưu đầy đủ trước.


Có nhiều phiên bản comctl.dll trên hệ thống của tôi, tất cả đều nằm trong các thư mục con khác nhau của Hệ thống. Chúng được sử dụng bởi các chương trình khác nhau. Cái cụ thể tôi cần thay thế đã bị hỏng, vì vậy những gì tôi cố gắng làm là an toàn. Đặc biệt là tại thời điểm thay thế nó không được sử dụng - không phải bởi hệ thống cũng như bởi bất kỳ chương trình đang chạy nào. Nếu không, cảnh báo sẽ không bị từ chối mà là một trong những tệp hiện đang được sử dụng. Tất nhiên tôi sẽ thử đề xuất của bạn, mặc dù tôi không thấy điều đó thực sự có thể giúp giải quyết vấn đề cấp phép như thế nào.
Zakum

1
@Zakum: "Truy cập bị từ chối" chính xác là cảnh báo bạn sẽ nhận được khi cố gắng sửa đổi các tệp hệ thống bị khóa vì chúng đang được sử dụng.
qasdfdsaq

2

Nếu tập tin đang được sử dụng bởi kernel thì bạn không thể đổi tên nó mà không tải nó ra khỏi bộ nhớ trước. chẳng hạn như bằng cách sử dụng giao diện điều khiển Windows để đổi tên nó.

Nếu nó không được sử dụng bởi một quy trình, thì bạn có thể đổi tên nó, tuy nhiên bảo vệ tệp windows có thể tạo một bản sao với tên gốc hoặc đổi tên lại.

Cách nhanh nhất để vô hiệu hóa bảo vệ tệp windows, bạn phải xóa tệp sau:

C:/windows/system32/restore/filelist.xml

Tôi khuyên bạn - trừ khi cài đặt thử nghiệm HĐH để sao lưu tệp bạn muốn đổi tên trước, nhưng bạn cũng có thể mở rộng tệp từ tệp nhị phân trên đĩa CD Windows:

expand -r filename.dl_ C:/windows/system32

Điều này sẽ tạo filename.dll trong system32, rõ ràng bạn sẽ phải thay thế tên tệp bằng tên tệp của dll.

Alternitivley bạn có thể sử dụng debug.exe để vô hiệu hóa bảo vệ tệp windows nhưng điều đó nguy hiểm hơn và mất khoảng nửa giờ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.