Могу ли я создать ярлык Windows для веб-файла, который сразу загружает и открывает файл при нажатии без использования браузера?

Я создал самораспаковывающийся архив, который пользователи моего программного обеспечения могут загрузить и запустить. Он отлично работает из браузера, но я хотел бы создать ярлык на рабочем столе, который указывает на мой архив и запускает его при вызове.

В настоящее время, если я создаю ярлык для "http://something.com/myfile.exe", он вызывает браузер с загруженным файлом .exe, а затем пользователь должен щелкнуть загруженный файл, чтобы запустить его, и браузер остается открытым. Если должен быть задействован браузер, я бы хотел, чтобы он автоматически открывал загруженный файл и завершал работу. Это возможно?


person Timothy Blaisdell    schedule 26.10.2019    source источник
comment
Такой вопрос следует задавать привилегированному пользователю, так как он не связан с программированием. При этом ярлыки Windows получают доступ к Интернету только через браузер. Это то, что зарегистрировано для обработки протоколов http:// и https://. Кроме того, такое поведение вызвало бы хаос с любым достаточно эффективным программным обеспечением для обнаружения AV / вредоносных программ и любым наполовину компетентным ИТ-персоналом, а любой наполовину интеллектуальный сетевой персонал заблокировал бы попытку загрузки .exe без явного согласия авторизованного (привилегированного) пользователя.   -  person Ken White    schedule 26.10.2019
comment
Что ж, Click-Once и JNLP делают это уже много лет. Сейчас эти технологии теряют популярность, но нам по-прежнему нужно, чтобы пользователи могли устанавливать и запускать наши приложения без учетной записи администратора.   -  person Timothy Blaisdell    schedule 27.10.2019


Ответы (1)


Вам нужна программа, которая загружает файл. Это может быть браузер или любое другое приложение, например curl или wget. Но что-то должно отправить HTTP GET запрос к файлу на этом веб-сервере.

Таким образом, вы можете использовать Powershell для этого требования. На ярлыке просто установите цель как:

powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command { Invoke-WebRequest -Uri "http://something.com/myfile.exe" -OutFile "C:\myfile.exe"}

Имейте в виду, что в большинстве случаев этот файл может быть обнаружен антивирусной программой независимо от того, является ли он вредоносным или нет. Это подозрительная попытка, которую вы делаете.

person Zafer Balkan    schedule 26.10.2019