Можно ли развернуть собственное приложение Delphi с помощью ClickOnce

можно ли развернуть собственное приложение Delphi с помощью ClickOnce без заглушки c# exe, которая будет использоваться для запуска приложения Delphi?

тот же вопрос относится к VB6, C++ и другим родным приложениям Windows.

3 ответов


лично я создаю свой собственный механизм, чтобы начать процесс самостоятельного обновления, когда моя временная метка приложения не синхронизирована с сервером. Не слишком сложная, но и не простая задача.

кстати, для Delphi вы можете использовать некоторую помощь thirdparty:

http://www.tmssoftware.com/site/wupdate.asp

обновление:

для моей реализации:

MyApp.EXE будет работать в 3 разных режимы

  1. MyApp.EXE без каких-либо аргументов. Это запустит приложение обычно.

    1.1 самое первое, что он делает, это проверить свое собственное время файла с сервером.

    1.2 если требуется обновление, он загрузит обновленный файл в файл с именем "MyApp-YYYY-MM-DD-HH-MM-SS.EXE-файл"

    1.3 затем он вызывает " MyApp-YYYY-MM-DD-HH-MM-SS.exe " с аргументом команды

    MyApp-YYYY-MM-DD-HH-MM-SS.exe  --update MyApp.EXE
    

    1.4 расторгнуть приложение.

    1.5 если обновление не требуется, то приложение будет запускаться нормально с 1.1

  2. MyApp.EXE --обновить "FILENAME".

    2.1 попробуйте скопировать себя в "имя файла" каждые 100 мс до успеха.

    2.2 вызовите "FILENAME", когда он успешен

    2.3 вызовите " FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" на самоликвидацию.

    2.4 расторгнуть

  3. MyApp.Ехе-удалить "FILENAME"

    3.1 Попробуйте удалить файл "FILENAME" каждые 500 мс до успеха.

    3.2 расторгнуть

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

Удачи


нет, точка входа в ваше приложение должно быть управляемым кодом.

Это блоге Брайан Нойес, один из главных авторитетов на ClickOnce и автор развертывание Smart Client с помощью ClickOnce.

Если вы приложение действительно наследие (т. е. VB6, MFC, ATL и т.д.), как и в неуправляемом исполняемом коде, то нет, вы не можете развернуть его как исполняемый файл через ClickOnce.

принято решение кажется быть управляемым кодом заглушки exe, который запускает основной exe.


Я не на 100% уверен, что это можно сделать без заглушки, но эта статья может дать некоторое представление:

как: развертывание ClickOnce для неуправляемого приложения с COM-компонентом в управляемой сборке