Как переместить файл в syswow64

Обновлено: 06.07.2024

Я должен скопировать утилиту psTool в папку System32 при запуске моего приложения.
Я на 64 бит Windows 7 и всякий раз, когда я пытаюсь скопировать exe в папку system32 бит через File.Copy , ехе всегда получает, а не скопированы в SysWOW64, его.

когда я ставлю точку останова на destFile, путь отображается как C:WindowsSystem32 но файл не входит туда (переходит к sysWow64). Я пробовал Special Folder SystemX86 , но файл снова переходит в sysWOW64.

любой предложения что мне здесь не хватает?

редактировать

как указано ниже в ответе, происходит перенаправление файловой системы. Я разрабатываю приложение с настройками по умолчанию Visual Studio для консольного приложения на 64-битной ОС. Я не уверен, какие настройки/переключатели должны храниться во время компиляции, чтобы приложение работало как на 32-битной, так и на 64-битной ОС.
В принципе, он должен просто установить копировать файл в System32 только независимо от какой бит OS это.
Позже в программе я должен получить доступ к утилите psTools через командную строку, которая недоступна, если я помещу ее в SysWOW64. Если я внесу изменения, используйте 32-битный cmd SysWOW64.exe, это снова будет что-то 64-битная платформа, которую я не хочу выбирать.

любое решение, которое может иметь приложение, работающее как на 32-битном, так и на 64-битном без проблем? Должен ли я изменить код (как?) или мне нужно изменить некоторые свойства этот проект консольного приложения (какие свойства)?

, потому что %windir%\System32 зарезервировано исключительно для 64-разрядных приложений, на 64-разрядных версиях Windows, 32-разрядных приложений, которые пытаются получить доступ к %windir%\System32 каталог автоматически и прозрачно перенаправляется на 32-бит

у меня была та же проблема. Решением является установка "целевой платформы" как x64 или AnyCPU вместо x86 в свойствах проекта в Visual Studio. В этом случае путь будет "C:\Windows\system32" и не будет перенаправлять к "C:\Windows\SysWOW64" вы можете проверить это, поместив любой файл в "C:\Windows\SysWOW64" папка, а затем использовать File.Exists команда для проверки, если файл находится в этой папке:

enter image description here

как путь переменная environnement содержит c:\windows в обеих версиях Windows x86 / x64, почему бы не положить свой инструмент в c:\windows : %windir% ?

В моем случае это решит мою проблему.

Я использую вспомогательное свойство в моих 32-битных приложениях, которые всегда возвращают родную папку system32. Свойство helper:

Как установить дополнительные файлы

ВАЖНО мы настоятельно рекомендуем перед внесением любых изменений в системные файлы и настройки, в том числе при установке сторонних программ, создавать дополнительную точку восстановления, а не опытным пользователям во избежание неполадок лучше отказаться от любых изменений..

Как установить дополнительные файлы

DLL или dynamic-link library это файл с дополнительными ресурсами, которые могут использоваться программами и операционной системой. В DLL файлы помещают исполняемый код и другие данные нужные различным программам при их выполнении.

В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:
- Windows 95/98 – помещаем файл в папку C:\Windows\System;
- Windows NT или 2000 – помещаем файл в папку C:\WINNT\System32;
- Windows XP, 7, 8, 10 – помещаем файл в папку для 32-х битных систем в C:\Windows\System32, а для 64-х битных в C:\Window\SysWOW64.

Первый способ
Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла .dll
Для примера возьмем regsvr32.exe d3dx9_27 .dll у Вас название_файла будет своё


Если способ не сработал, укажите полный путь к этому файлу, то есть путь до папки, куда вы поместили DLL.
Например:
regsvr32.exe C:/Windows/system32/d3dx9_27.dll


Второй способ
Воспользуемся командной строкой, открывать её нужно обязательно от имени администратора.
Ввести похожую команду:
regsvr32.exe путь_к_файлу_dll

То есть мы выполняем все тоже самое, только в командной строке.


Третий способ
Редко используемый, но тоже рабочий, выбираете нужный dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32, и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.

Ошибка при регистрации DLL-файлов
Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен.

Решение:
- Опытные пользователи могут использовать regasm.exe
- Попробуйте скачать этот же файл, ещё раз, либо посмотрите, что это за файл и воспользуйтесь специальными установщиками DLL-файлов. Некоторые библиотеки поставляются с каким-либо программным обеспечением, например, DirectX.
- При скачивании архива антивирус мог удалить в процессе важные файлы, которые были там изначально, поэтому нужно скачать архив заново временно отключить антивирус.

Как заменить DLL-файл
Заходим в папку C:\Windows\System 32 с правами администратора, получаем полный доступ над файлом имя_файла.dll, переименовываем файл имя_файла.dll в имя_файла.dll.backup и копируем на его место измененный имя_файла.dll


По умолчанию стандартные звуки windows находятся в папке C:\Windows\Media
Меняя тему windows, звуки применяются на те которые прописаны в теме (.theme), то есть каждый раз нужно заходить и применять звуковую схему самому в панели звука.

1. Если вы скачали архив звуков и среди них есть файл *.inf, тогда нам нужно кликнуть по нему и выбрать пункт Установить. Звуковая схема установится автоматически.
2. Вы скачали архив и в нем только звуковые файлы *.wav, в данном случаи нам нужно скопировать все звуки (можно папкой) в директорию C:\Windows\Media. Переходим в Панель управления -> Звук -> вкладка "Звуки" , кликаем по интересующему нас звуком для замены, потом "Обзор", указываем нужный звук, "Сохранить". Так с каждым звуком.


После того как настроите все звуки, можно сохранить звуковую схему. Для этого кликаем по кнопке "Сохранить как. ", пишем название и "ОК."
3. Если в скачанном архиве один файл *.soundpack извлекаем его в удобное место. Тогда скачиваем программу SoundPackager, устанавливаем и запускаем. После кликаем по кнопке "Import Package", указываем файл звуковой схемы и "Открыть". Схема отобразится в списке программы, указываем на нее, кликаем по кнопке "Apply Package", в открывшемся окне выбираем один из двух вариантов применения: Apply Enhanced Package (применение всех звуков которые входят в схему) или Apply Normal Package (применение упрощенной звуковой схемы, без звуков сворачивания/разворачивания окон и т.д).

Звук входа в систему можно изменить с помощью программы - Startup Sound Changer.


Шрифты представляют собой обычные файлы с определенным расширением. Для шрифтов, которые поддерживает Windows, расширение .ttf соответствует типу шрифта TrueType, а расширение .otf соответственно OpenType, по умолчанию папка со шрифтами windows находится C:\ Windows\ Fonts.
Некоторые архивы могут содержать несколько вариантов шрифта, поэтому прежде чем установить шрифт можно посмотреть как выглядит его начертание, откройте файл запустив его двойным нажатием и увидите как выглядит шрифт.


Способы установки шрифтов:
1. Прямо из окна предварительного просмотра шрифта. Для этого запустите файл как делалось ранее для просмотра и если вас устраивает шрифт, нажмите на кнопку «Установить».


2. Установка одного или нескольких шрифтов Windows. Сначала необходимо разархивировать все файлы в одну из папок, выделите группу или конкретный шрифт, нажмите правой кнопкой мыши и выберите во всплывшем контекстном меню «Установить», не забывайте, что подобные манипуляции следует производить с правами администратора.


3. Просто скопировать все файлы папку: C:\ Windows\ Fonts.


Для удаления или скрытия шрифта выделите один или несколько необходимых шрифтов. В верхней части появиться список команд.

Для настройки шрифтов в windows 10 рекомендуем использовать бесплатную программу

1. Для замены основного системного шрифта (Segoe UI) нужно в главном окне программы перейти в раздел Advanced Appearance Settings → System font и кликнуть по кнопке Change system font.


2. В открывшемся окне Installed fonts останется только выбрать один из установленных шрифтов и нажать на кнопку ОК. Если требуется установить уникальный шрифт, его нужно предварительно установить способом указанным выше.


3. Для применения изменений потребуется перезагрузить компьютер. Сделать это можно немедленно, прямо из окна Winaero Tweaker, кликом по кнопке Sign out now.


Для возврата к настройкам по-умолчанию необходимо снова запустить программу, перейти в раздел Advanced Appearance Settings → System font, кликнуть по ссылке Reset this page to defaults и применить изменения повторным входом в систему.

Для изменения шрифта текста подписей иконок (значков) нужно перейти в раздел Advanced Appearance Settings → Icons и в блоке Change icons font воспользоваться кнопкой Change font... для выбора нужного шрифта. Изменения применяются кликом по кнопке Apply changes.


Настройки текста контекстного меню изменяются в блоке Advanced Appearance Settings → Menus → Change menus font, принцип действий тот же.



Опция Advanced Appearance Settings → Status Bar Font позволит заменить шрифт панели состояния некоторых программ, таких как Блокнот, который обычно отображается в нижней части окна.


Для замены шрифта в заголовках окон служит опция Advanced Appearance Settings → Windows Title Bars → Change title bar font.



ВАЖНО мы настоятельно рекомендуем перед внесением любых изменений в системные файлы и настройки, в том числе при установке сторонних программ, создавать дополнительную точку восстановления, а не опытным пользователям во избежание неполадок лучше отказаться от любых изменений..


Для неопытных пользователей перед установкой каких либо программ или приложений, настоятельно рекомендуем создать ТОЧКУ ВОССТАНОВЛЕНИЯ.

Для восстановления работоспособности Windows существует масса способов – точки отката, бэкап, бэкап и откат её реестра, восстановление целостности её файлов, переустановка Microsoft Visual C++ и прочих системных компонентов. Но только предварительно сделанный бэкап системы можно считать панацеей, универсальным «лекарством» от всех возможных проблем. Как быть, если нужно восстановить системные файлы, а у нас ни бэкапа нет, ни инструмент восстановления системных файлов не работает?

В таких случаях можно прибегнуть к замене системных файлов Windows, если они повреждены или удалены, вручную.

Замена системных файлов Windows вручную – операция, требующая определённых знаний и навыков в работе операционной системы от Microsoft. Нам нужно точно знать, какой файл системы повреждён или удалён, чтобы мы могли его заменить дубликатом. К примеру, если мы при открытии системного управления дисками видим уведомление типа этого,

Уведомление

это значит, что повреждён или удалён файл diskmgmt.msc – файл запуска непосредственно утилиты управления дисками. В этом случае мы можем попытаться решить проблему путём восстановления целостности системных файлов, т.е. запустить в командной строке известную команду sfc/scannow . Но этот механизм системы не всегда даёт положительные результаты и часто завершается уведомлением о невозможности восстановления.

Sfc - scannow

В таком случае далее нужно предпринимать действия по восстановлению хранилища системных ресурсов и потом снова запускать sfc/scannow . Ручная замена проблемных системных файлов – более топорная операция, плюс к этому, требующая, как упоминалось, чёткого понимания, какие именно файлы по какому пути нужно заменять. Но если эти файлы и пути известны, то это более быстрое и надёжное решение проблемы.

Что для этого необходимо? Нам понадобится установочный ISO нужной версии Windows. Открываем его архиватором 7-Zip.

Установочный ISO

Открываем папку «sources», далее – «install».

7-Zip

Внутри файла «install» выбираем папку с тем или иным порядковым номером. Порядковые номера – это индексы редакций Windows. Если, например, в нашем случае нужно восстановить файл diskmgmt.msc , нам без разницы редакция, эта системная утилита есть в любой редакции Windows. Поэтому мы просто выберем редакцию Pro , она идёт под номером 4.

Редакция Windows

Но если файл нужного системного компонента есть только в определённой редакции, например, только в Pro, то необходимо указывать индекс конкретно этой редакции. А узнать индексы редакций в составе дистрибутива можно с помощью командной строки. Нужно подключить установочный ISO для отображения в системе и прописать в команде Dism путь к файлу install на борту этого ISO , вот так:

Dism /Get-WimInfo /WimFile:J:\sources\install.wim

Здесь вместо буквы J каждый должен подставить свою букву диска подключённого ISO . И если файл install имеет формат не «.wim», а «.esd», то, соответственно, в конце команды необходимо указать этот формат. В ответ на эту команду получим справку о соответствии индексам редакций Windows.

CMD - Dism

Определившись с редакцией, распаковываем нужный системный каталог. В нашем случае необходимо заменить файл утилиты diskmgmt.msc , следовательно, мы распаковываем каталог «Windows» . Кликаем его и жмём «Extract».

Extract

Указываем путь распаковки.

И после распаковки ищем файл утилиты diskmgmt.msc .

Файл утилиты

При поиске обнаружилось несколько дубликатов diskmgmt.msc – в оригинальном месте хранения файла, в хранилище системных ресурсов (т.е. в папке WinSxS) , в других системных подкаталогах. Мы берём файл, находящийся по исходному его пути хранения, в папке «System32» . Копируем его.

Копируем его

И помещаем этот файл в папку «System32» внутри каталога «Windows» на диске С текущей системы.

Проводник

Подтверждаем вставку или замену файла.

Подтверждаем вставку

Мы рассмотрели простейший пример замены системных файлов вручную, чтобы осветить сугубо механизм этой процедуры. Необходимо понимать, что не со всеми системными файлами процесс замены произойдёт так вот просто, могут возникнуть трудности. Некоторые файлы Windows в активном состоянии не захочет заменять, и потребуется либо получение прав TrustInstaller , либо работа с LiveDisk . Также нужно учитывать, что после замены некоторых файлов, например, файлов активных системных процессов, прежде лицезрения результата проделанной работы, необходимо перезагрузить Windows.

Ну и главный совет: приведённая выше процедура рисковая, ибо, по сути, является вмешательством в структуру данных системы, потому перед проведением этой процедуры необходимо создать точку отката. Но лучше, конечно же, сделать полноценный бэкап.

Файл .dll не найден

Если файл окажется на месте, для начала его нужно попробовать зарегистрировать. Вполне возможно, что программа его просто «не видит». Если файл физически отсутствует, ничего не поделать, придётся поискать его в интернете на специализированных сайтах или скопировать с другого компьютера с той же версией Windows, после чего перенести в соответствующий каталог на вашем ПК, а уже потом зарегистрировать .

Если файл физически отсутствует

Процедура регистрации предельно проста. Откройте от имени администратора командную строку и выполните следующую команду:

, где Name.dll — имя библиотеки. Например, для файла msvcr120.dll команда регистрации будет выглядеть как regsvr32 msvcp120.dll .

Команда регистрации

Создайте в подразделе SharedDLLs новый параметр типа DWORD.

Редактор реестра

В качестве его имени укажите полный путь к библиотеке, а в качестве значения установите 1.

Редактор реестра

Ошибку устранить не удаётся

Также можно порекомендовать выполнить следующие действия:

1. Убедитесь, что ваш профиль пользователя не повреждён. Попробуйте зарегистрировать библиотеку из-под учётной записи администратора.

2. Просканируйте систему на предмет ошибок командой sfc /scannow.

И последнее. Столкнуться с проблемами при использовании команды regsvr32 вы можете также при попытке зарегистрировать 32-битную библиотеку DLL в 64-битной Windows. В этом случае переместите файл библиотеки из папки System32 в SysWOW64 и в запущенной от имени администратора консоли CMD выполните команду %systemroot%/SysWoW64/
egsvr32 без фигурных кавычек.

Читайте также: