вообщем, написал программку. В ней много файловых операций, в основном, в своей же директории.
Я написал инсталлятор проги и он может происталлировать прогу в любое место на компе.
Все работает, если записать прогу на не системный диск, например, D:\Прога, или даже, на системный, но C:\Прога
Но лютые проблемы начинаются, если это сделать, например, в С:\Program Files(x86)\Прога.
Все это связано с блокировкой виндой всех файловых операций записи, даже в своей же папке, программа просто виснет.
Я понимаю, что можно повесить ручками нужные права на директорию, можно скомпилировать прогу с требованием админских прав и тогда тоже все отлично работает, но чужие же программы работают и так, вот что меня смущает. Может, для того, чтобы прога свободно работала на системном диске, нужен статус Проверенного издателя? Вообщем, надеюсь на подсказку, чтобы разобраться с этим вопросом.
Ну и, до кучи уже. Я также вставил кусок самообновления проги. Она качает файл из инета, сохраняет его в темп директории по умолчанию на системном диске, оттуда запускает установшик, завершает свою работу, установшик стирает старую версию, копирует в паку новую, запускает ее, и уже новая версия затирает сам установщик, все происходит в TEMP директории, которая по умолчанию находится на системном диске. Процесс нехитрый, но защитник винды ненавидит меня, обвиняя в вирусописательстве. Я заметил, что особенно он не любит команду DeleteFile(), и уж тем более DeleteDirectory(). Ну, тоже, требуется совет. Может, и эту проблему решает статус проверенного издателя?
Отредактировано Goga (10.08.2022 06:06:17)