У меня есть один исполняемый файл, который через InnoSetup по умолчанию устанавливается в Program Files \ FolderName. У exe есть сторонний компонент, который выходит онлайн, чтобы проверить новые версии и загружает их, а затем немного возится, чтобы заменить exe - простые вещи. Проблема в том, что она не может сделать это в Program Files из-за необходимой безопасности там. Я читал Windows 7 - Can't update my program's files in C:\Program Files, в котором Дэвид Хефферман дает решение, но тогда кажется, чтобы сказать, что это плохая идея, но я не знаю, относится ли битка плохих идей к его решению или комментариям OP!Обновление собственного программного обеспечения в программных файлах
Итак, каков предпочтительный метод, с помощью которого программа может обновить себя? Один, который будет работать с XPSP3 до Win8. Я не могу найти правильную фразу для входа в Google, которая дает мне соответствующие результаты. Игнорировать цифровые подписи и так далее, для простоты.
(Обратите внимание, что это может быть так, что я сформулировал это как вопрос мнения, но это не так. Должен быть какой-то MS-одобренный способ сделать это, что я не могу найти. FWIW это программа Delphi, но любая Win32 примечания сделаю)
Включение разрешающего DACL в программные файлы не является решением вашей проблемы. Я прямо ответил на вопрос, а затем дал комментарий, в котором говорилось, что предлагаемое решение было плохим. Итак, нет, не рассматривайте DACL в файлах программ.Если вы хотите загрузить обновление, загрузите его в место для записи, а затем, если вам нужно обновить файлы программ, вам понадобится обновить ваш обновитель. –
Правильно, для меня это было немного неоднозначно и не помогало комментариями OP, поэтому, начиная новый вопрос, а не добавляя к этому вопросу - не хотелось путать путаницу над моей собственной неопределенностью! Благодарю. – GeoffM