Программные файлы (x86) не интерпретируемое право на Win7x64, если не работающем как локальный администратор

С уважением,

У меня есть специфическая проблема с программой на 32 бита, которая перемещается в x64 среду (Windows XP SP3 к Windows 7 X64. Приложение является вопросом, электронный регистр / до для наших офисов конечной точки продаж.

Приложение расположено в:

"C:\Program Files(x86)\Q_Kassa"

Мы настроили весь соответствующий доступ для пользователя, это запустит программное обеспечение как оболочку включая все соответствующее чтение / права записи на папках, в которых нужно приложение. Однако, пока мы "не Работаем Как Администратор" или пока пользователь, которого это загрузит, программа не является членом локальных администраторских групп, приложение не загрузит бросок ошибки, в которой это не может найти файл расположенным:

C:\Program Files\Q_Kassa\FileName

Вещь, все соответствующие данные конфигурации, файлы конфигурации и информация о регистре говорят приложению, что это - данные, находится в Программных файлах (x86) каталог. По некоторым причинам походит, когда приложение запущено с помощью опции "Run As Admin" или работало, в то время как пользователь находится в локальной группе admin, тот Windows неправильно истолковывает папку, которую это должно получить как Папка приложения.

Так, таким образом:

As local admin / Run-as-admin option used:

the application is fed info from C:\Program Files(x86)\Q_KASSA\
--> as it should be.

When run as a normal user the application tries to get it's info from 
    C:\Program Files\Q_Kassa
--> wrong folder

Кто-либо, который в состоянии, объясняет, почему то, которое уровень выполнения приложение имеет, по-видимому, определяет, какой каталог Program Files используется?

С уважением,

0
задан 7 November 2015 в 19:23
1 ответ

Это могло быть просто устаревшая вещь и путаница % PROGRAMFILES% . Самый простой способ исправить это - использовать символическую ссылку, например:

mklink / j "C: \ Program Files (x86) \ Q_Kassa" "C: \ Program Files \ Q_Kassa \"

Таким образом, это ' Буду работать независимо от того, где программа «думает» на самом деле. Также обратите внимание, что если он должен записать в эту папку программных файлов, вам нужно будет повысить права доступа, чтобы он работал правильно. Windows выполняет перенаправление в папку «VirtualRoot», но в лучшем случае это беспорядочно.

3
ответ дан 4 December 2019 в 12:30

Теги

Похожие вопросы