При установке вашей программы предлагается использовать каталог типа Quik, но это не очень хорошо, так что я все квики ставлю в
Program Files (x86)
Но т.к. это необычный каталог, то при запуске квика оттуда у не нет прав записывать свои рабочие файлы в него же.
Лечится это тем, что для каталога типа
c:\Program Files (x86)\QuikInvPal\
(квик брокера Инв. Палата) даются все права на запись текущему пользователю. Если этого не сделать, то программа либо не будет работать (завершается с ошибкой), либо будет, но через VirtualStore, что тоже не супер. Конечно, давать права на запись внутри
Program Files (x86)
тоже не очень правильно, но а как ещё?
Так вот я предлагаю в ваш инсталлятор добавить проверку, что программа ставится в
Program Files (x86)
или
Program Files
и в таком случае автоматом давать текущему пользователю права на всё в каталоге программы
(типа c:\Program Files (x86)\QuikInv\)
Просто когда прав нет и программа работать не будет, то она про это не скажет, надо самому догадаться (если она выдаст ошибку, то она будет про другое).
Также при запуске уже самого квика можно проверять, что у него есть права на запись в его рабочий каталог, и если нет, то так и сообщать, чтобы пользователь сразу это исправил.
Другой вариант - хранить все рабочие данные там, где полагается - в
c:\Users\UserName\AppData\
но вы наверное так делать не будете, т.к. это будет слишком резкое изменение.
Program Files (x86)
Но т.к. это необычный каталог, то при запуске квика оттуда у не нет прав записывать свои рабочие файлы в него же.
Лечится это тем, что для каталога типа
c:\Program Files (x86)\QuikInvPal\
(квик брокера Инв. Палата) даются все права на запись текущему пользователю. Если этого не сделать, то программа либо не будет работать (завершается с ошибкой), либо будет, но через VirtualStore, что тоже не супер. Конечно, давать права на запись внутри
Program Files (x86)
тоже не очень правильно, но а как ещё?
Так вот я предлагаю в ваш инсталлятор добавить проверку, что программа ставится в
Program Files (x86)
или
Program Files
и в таком случае автоматом давать текущему пользователю права на всё в каталоге программы
(типа c:\Program Files (x86)\QuikInv\)
Просто когда прав нет и программа работать не будет, то она про это не скажет, надо самому догадаться (если она выдаст ошибку, то она будет про другое).
Также при запуске уже самого квика можно проверять, что у него есть права на запись в его рабочий каталог, и если нет, то так и сообщать, чтобы пользователь сразу это исправил.
Другой вариант - хранить все рабочие данные там, где полагается - в
c:\Users\UserName\AppData\
но вы наверное так делать не будете, т.к. это будет слишком резкое изменение.