|
А есть способ заставить 32-битный код не перевирать System32 в SysWOW64?
|
|||
---|---|---|---|
#18+
Ну т.е. например Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Возвращает 2 (Не удается найти указанный файл) Очевидно авто-конвертирует путь в "C:\Windows\SysWOW64\drivers\modem.sys" и не находит. Ну и вчера такая же проблема с MoveFileEx function Не, в терию отправлять не надо, естественно в курсе. С реестром например корректно бодаться не проблема. Также понимаю, что если скомпилирую под x64 то ошибка уйдет. Но вот способ сказать 32-битной проге "Дура, не используй эту адресацию здесь и сейчас" есть? Хотелось бы реализовать все что хочу сделать одним универсальным 32-бит exe-шником (по возможности). На какой системе я нахожусь, это я определю без проблем. И хотя я обычно контролирую для всех своих Net кодов возможность корректно работать при x64 компиляции, но реально этим не пользовался и всегда делал x86 Release. Причина, почему не стал дурить с x64 - очень много компонентов, кот. не будут работать с x64 кодом. Или все-таки придется делать 2 файла под x64 и x86 (AnyCPU не хочу - глючит, у меня на VS2013EE если новый проект AnyCPU всегда работает как 32 бит, полная студия стоит, но я ее ненавижу). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2016, 02:09 |
|
А есть способ заставить 32-битный код не перевирать System32 в SysWOW64?
|
|||
---|---|---|---|
#18+
Wow64DisableWow64FsRedirection function Wow64RevertWow64FsRedirection function ? оно наверно Хотя наверно все одно два файла делать придется. Я там кроме прав/копирований еще SetupDiSetClassInstallParams/SetupDiCallClassInstaller использую для выключения/включения девайсов Часть SetupDi...функций работают и из 32-битного кода, а вот чтоб напр. установить девайс, нужен 64-битный на x64. Проверять надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2016, 08:55 |
|
А есть способ заставить 32-битный код не перевирать System32 в SysWOW64?
|
|||
---|---|---|---|
#18+
Дмитрий77Хотя наверно все одно два файла делать придется. Я там кроме прав/копирований еще SetupDiSetClassInstallParams/SetupDiCallClassInstaller использую для выключения/включения девайсов Часть SetupDi...функций работают и из 32-битного кода, а вот чтоб напр. установить девайс, нужен 64-битный на x64. Проверять надо. Не, вот такая хрень модемы вырубает и включает на x64 из 32-битного exe: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
Поэтому за корректирование путей стоит побороться, чтоб не плодить x64/x86 версий. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2016, 09:19 |
|
А есть способ заставить 32-битный код не перевирать System32 в SysWOW64?
|
|||
---|---|---|---|
#18+
Дмитрий77 Wow64DisableWow64FsRedirection function Wow64RevertWow64FsRedirection function Да оно. Единственное, как следует из документации надо не забывать делать Wow64RevertWow64FsRedirection. Хотя я пока не нарвался. Для того что мне нужно видимо сделаю Wow64DisableWow64FsRedirection один раз в начале и один раз Wow64RevertWow64FsRedirection в конце. Просто отключение нужно в нескольких местах: переназначение владельца системного файла, изменение прав в файле, копирование в системный путь, и все это без Wow64DisableWow64FsRedirection из 32-битного кода корректно не фурычит. А вот для SetupDi пофиг, включены или выключены редиректы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2016, 19:16 |
|
|
start [/forum/topic.php?fid=20&tid=1400307]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 152ms |
0 / 0 |