but the value acrobatPath cannot be changed because of static attribute.
Это утверждение не имеет смысла.Вы можете изменить статическую переменную.То, как вы используете статическую строку для установки значения ключа регистра (которое не изменится, если оно существует), является причиной, по которой вы не можете ее изменить.
Решение состоит в том, чтобы изменить способ работы кода в качестве метода.
Поскольку вы уже приняли ответ Владимира Перевалова, я не буду вдаваться в подробности.Я хотел бы сделать следующее:
1) Получить каталог установки Adobe Reader, прочитав каталог установки.Я бы установил это в переменную, которую я мог изменить по желанию.
2) Я бы изменил строку только для получения пути
3) Я бы установил текущее значениеСтрока, которую я просто создаю для статической переменной.
Это делает именно то, что делает код Владимира Перевалова, просто использует функцию вместо класса.Конечно, метод будет статическим и в том же классе, что и статическая переменная.Конечно, нет ничего плохого в использовании конструктора STATIC, я всегда считал конструктор специализированным методом, я просто хотел отметить, что вы МОЖЕТЕ изменить статическую переменную.