С уважением,
У меня есть специфическая проблема с программой на 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 используется?
С уважением,
Это могло быть просто устаревшая вещь и путаница % PROGRAMFILES%
. Самый простой способ исправить это - использовать символическую ссылку, например:
mklink / j "C: \ Program Files (x86) \ Q_Kassa" "C: \ Program Files \ Q_Kassa \"
Таким образом, это ' Буду работать независимо от того, где программа «думает» на самом деле. Также обратите внимание, что если он должен записать в эту папку программных файлов, вам нужно будет повысить права доступа, чтобы он работал правильно. Windows выполняет перенаправление в папку «VirtualRoot», но в лучшем случае это беспорядочно.