Войти

Показать полную графическую версию : [решено] system32 выбирается как рабочая папка


tpogih
15-01-2016, 11:02
Добрый день.
Бьюсь с решением следующей проблемы:

на самописном ПО в компании, при запуске от администратора, выбирается по умолчанию папка system32, при этом если запускать этот же софт с обычными правами он запускается бузе проблем. Также если сначала запустить FAR c правами администратора и из него попробовать запустить этот же софт, также с правами администратора, то все работает
для наглядности распишу не много по другому
explorer + обычный пользователь - работает
explorer + запуск от имени администратора - не работает
FAR + обычный пользователь - не работает
FAR + запуск от имени админстратора - не работает
FAR(от администратор) + запуск - работает
FAR(от администратор) + запуск от имени админстратора - работает

Во всех случаях когда ПО не запускается, в качестве рабочей папки, по умолчанию выбирается system32, как будто выполняемый файл сперва переносится туда, и после уже запускается. Эту теорию подтверждает простая команда в скрипте запуска, на определение текущей папки.
Также замечу, что проблема эта появилась одновременно на многих машинах, в связи с этим грешу на обновления ОС, какое именно обновление виновато, пока определить не могу...

ПО написано на perl.
Win7 x64 prof

Буду благодарен за любые советы

Iska
15-01-2016, 11:33
FAR(от администратор) + запуск - не работает
FAR(от администратор) + запуск от имени админстратора - работает »
Разницы между первым и вторым быть по идее не должно, поскольку для дочерних процессов токен должен наследоваться от родительского.

tpogih
15-01-2016, 11:45
Разницы между первым и вторым быть по идее не должно, поскольку для дочерних процессов токен должен наследоваться от родительского. »

Да, опечатался. в шапке поправил

Petya V4sechkin
15-01-2016, 20:26
tpogih, вероятно, оно пытается что-то считать из текущей папки.

Можно попробовать сделать CMD-файл типа:
cd /d "%~dp0"
start имя_приложения.exe
Положить его рядом с EXE-файлом и запускать.

tpogih
17-01-2016, 07:04
Положить его рядом с EXE-файлом и запускать. »
Спасибо за совет, но этот вариант не получится. в самом приложении есть обращения к скриптам, которые также по какой то причине считают своей рабочей папкой system32.

Может у кого есть идеи как в корне решить эту проблему?

Petya V4sechkin
17-01-2016, 09:04
tpogih, сделайте лог Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) следующим образом:
запустите Process Monitor;
попытайтесь запустить проблемное приложение неудачным способом;
сохраните лог: меню File -> Save -> PML-формат;
заархивируйте и выложите на любой файлообменник, например rghost.ru.

tpogih
18-01-2016, 14:42
запустите Process Monitor;
попытайтесь запустить проблемное приложение неудачным способом;
сохраните лог: меню File -> Save -> PML-формат;
заархивируйте и выложите на любой файлообменник, например rghost.ru. »

прошу прощения. Ваше прошлое сообщение решило проблему. неверно переписал команду в bat файл.




© OSzone.net 2001-2012