Я пытаюсь выполнить пакетный файл без вывода сообщений и асинхронно из установщика NSIS. Я хочу, чтобы он молчал, чтобы пользователь не мог закрыть его, и я хочу, чтобы он был асинхронным, чтобы установщик автоматически закрывался, пока пакетный файл все еще работает. Идея состоит в том, чтобы пакетный файл удалял установщик как способ реализации самоуничтожающегося установщика. Но этот вопрос касается конкретно выполнения командного файла.
Я могу выполнить пакетный файл без вывода сообщений, используя nsExec::Exec
, и я могу выполнить пакетный файл асинхронно, используя Exec
. Я пытаюсь сделать оба с помощью ExecShell
, но это не работает. Аргумент типа показа, кажется, игнорируется независимо от того, что я передаю ему. Чтобы подтвердить, что это не ограничивается пакетными файлами и SW_HIDE
, я попытался открыть простой текстовый файл в свернутом виде и все еще не могу этого сделать.
ExecShell "" "path.txt" SW_SHOWMINIMIZED
ExecShell "open" "path.txt" SW_SHOWMINIMIZED
Обе эти опции просто открывают WordPad (по умолчанию) в обычном не минимизированном окне. Я пытался запросить разрешения администратора и скрыть детали установки, но, похоже, ничего не работает. Что я могу сделать?