Я знаю, что это плохая идея с точки зрения безопасности. Но это обязательно должно быть сделано. Проблема: Windows 7 Home Premium x64, необходимо запустить приложение DOS, которое записывает выходной файл в C:\ Приложение работает нормально, но не выдает никаких ошибок и просто не может записать файл. Я пробовал runas и поднять - и не имеет никакого значения. Я дал пользователю полные разрешения через вкладку безопасности для диска c: через графический интерфейс они могут легко создать новый RTF-документ в C:.

Это все потому, что существующее бухгалтерское приложение, которое работало в Dos на XP, было создано уже мертвым разработчиком, компьютер пережил его и был заменен Win7 box.

1 ответ1

0

Используйте Process Monitor, чтобы выяснить, какие файлы пытается создать программа и какие ошибки она получает от ОС. Если программа не сообщает об ошибке, возможно, она просто записывает файл в другое место.

Перед тем, как cmd.exe продолжит выполнение других пакетных задач, вы должны увидеть фактический запуск процесса, чтение вашей учетной базы данных и создание выходного файла. (Обратите внимание, что системный вызов CreateFile также используется для чтения существующих файлов, а не только для создания новых.)

Однако, если это действительно приложение для DOS, то оно вообще не запустится, поскольку эмуляция NTVDM DOS не является частью 64-разрядной Windows. В этом случае вам потребуется запустить 32-разрядную версию Windows (например, в VirtualBox) или использовать такие инструменты, как DOSbox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .