Я создал код, который сравнивает файлы XML на стороне клиента (на ПК) с XML-файлом, расположенным на FTP-сервере; где, когда он обнаруживает, что клиент работает с более старой версией программы, он загрузит последнюю версию (так что у пользователя всегда будет актуальная программа).Custom Application updater
Вот трюк. Из-за того, что я перезаписываю файлы во время выполнения, мне пришлось создать внешнее консольное приложение, которое вызывается из основного приложения, если пользователь хочет обновить его. Таким образом, выполняется первое консольное приложение, после чего основное приложение закрывается, так что никакие файлы не блокируются системой (в противном случае файл .exe приложения будет заблокирован, и мы не сможем заменить его новым).
Этот процесс выполняется отлично, если он устанавливается где-то еще, кроме под системной папкой (под этим я подразумеваю, например, C:\Program Files\
). Если пользователь решил установить там основное приложение, то внезапно мое приложение выйдет из строя, поскольку оно не имеет прав администратора.
Я использую Install Shield LE при рассылке этого приложения, а пользователи, которые используют эту программу, не являются администраторами (что означает, что я перехожу на каждый компьютер и набираю пароль администратора, когда я/пользователи устанавливаю эту программу).
Есть ли способ, как выполнить мое обновленное консольное приложение с правами администратора или как определить через Install Shield, что после того, как это приложение было выполнено, я всегда хочу, чтобы он выполнялся как admin?
Надеюсь, что мое объяснение не смущает. Я более чем счастлив поделиться дополнительными сведениями, если это необходимо, поскольку мне нужно выяснить, как решить эту проблему.
под манифестом приложения мы имеем в виду файл app.config? –
Обратите внимание, что это вряд ли поможет OP из-за того, что «пользователи, которые используют эту программу, не являются администраторами», так как они не смогут предоставить пароль для подсказки. –
Нет, файл app.manifest, в Visual Studio, щелкните правой кнопкой мыши project-> Добавить элемент-> Выбрать файл манифеста приложения –