Как сохранить подпись в файле приложения?

Я хочу подписать пользовательское приложение именем пользователя, если он сделает пожертвование. Для этого мне нужно записать имя пользователя в exe-файл. Но файл не может изменить себя, потому что в это время он используется. Вы знаете, можно ли что-нибудь сделать? Я, конечно, могу хранить подпись в отдельном файле или в реестре, но так подпись можно потерять. Я хочу, чтобы модификация была постоянной и не могла быть изменена пользователем. Я приму любую идею, которая поможет мне достичь этого...


person Marus Nebunu    schedule 24.04.2020    source источник
comment
А когда пользователь обновит приложение, информация потеряется?   -  person Olivier    schedule 24.04.2020
comment
Я думаю, он может снова зарегистрировать приложение с кодом, который я ему дал... Но это хороший вопрос, который заставляет меня задуматься, правильно ли я хочу поступить... :( Это первый раз, когда я попробуй сделать это.   -  person Marus Nebunu    schedule 24.04.2020
comment
Отдельный файл было бы проще обрабатывать и избежать этой проблемы.   -  person Olivier    schedule 24.04.2020
comment
Ваше регистрационное приложение может завершить исполняемый файл, затем подписать его, а затем запустить снова.   -  person nolaspeaker    schedule 24.04.2020


Ответы (1)


Вы можете позволить приложению сделать свою копию, затем изменить копию, а затем запустить копию (с помощью ShellExecute).

Модификация может быть вдохновлена ​​примерами UpdateResource здесь: Как прикрепить файл ресурсов к существующему исполняемому файлу?

«Подпись» будет храниться в ресурсе, поэтому вашему приложению придется считывать ее из ресурса, например, с помощью класса TResourceStream Delphi.

person Matthias B    schedule 24.04.2020
comment
Отличная идея ! Большое спасибо ! - person Marus Nebunu; 25.04.2020