Я решил изменить права доступа к каталогу в процессе установки, поэтому создал файл .exe, который изменяет права доступа к его пути запуска и дает всем пользователям доступ к этому пути. Я просто включил этот файл .exe в свой проект развертывания и создал пользовательское действие, которое будет запускать файл на этапе фиксации установки.
Поскольку программа установки запрашивает права администратора при установке, мой .exe также обладает правами администратора и может изменять разрешения для каталога установки.
В моем .exe я использовал экземпляр Process для запуска утилиты ACL, поставляемой с Windows (icacls.exe), следующим образом:
ICACLS.EXE [TargetDir] /T /C /grant Users:F
(Убедитесь, что [TargetDir] не заканчивается на «\», иначе вызов не удастся.)
Это дает всем пользователям полный доступ к целевому каталогу.
Я мог бы также написать код .NET и изменить права доступа к каталогам вручную, но я немного ленив!
Однако вы можете тщательно проверить состояние вашей среды, чтобы то, что вы делаете, не стало дырой в безопасности вашей среды; но это было подходящим для меня.
Надеюсь, это поможет другим, кто столкнулся с той же проблемой.