У меня есть приложение, которое останавливает службу, копирует файл и снова запускает службу.Я хочу, чтобы он отображал индикатор выполнения и не имел дополнительного окна, не менял экраны, просто позвольте UAC сделать свое дело и продолжить оттуда (это программа конфигурации, поэтому она по-прежнему может использоваться как обычный пользователь со значком щита на копиикнопка).
Это происходит путем открытия отдельного приложения (другого, сделанного невидимым, как в msiexec) в качестве администратора, затем новое делает свое дело и отправляет обратно отчеты о ходе выполнения через SendMessage,Это работает нормально, но оказывается, что SendMessage работает только в одном направлении между приложениями администратора / не администратора.Перенаправление StandardInput не будет работать, потому что для этого требуется отключение ShellExecute, а для «runas» необходимо включение ShellExecute.
Я не хочу использовать файл, потому что это будет медленным и создает угрозу безопасности(Я отправлял код ключа вместе с сообщениями CopyData, которые раньше содержали команды).Может ли быть другой способ перенаправить StandardInput / Output?Как MSI это делает?
Я использую C # для этого.