Можно ли развернуть собственное приложение Delphi с помощью ClickOnce
можно ли развернуть собственное приложение Delphi с помощью ClickOnce без заглушки c# exe, которая будет использоваться для запуска приложения Delphi?
тот же вопрос относится к VB6, C++ и другим родным приложениям Windows.
3 ответов
лично я создаю свой собственный механизм, чтобы начать процесс самостоятельного обновления, когда моя временная метка приложения не синхронизирована с сервером. Не слишком сложная, но и не простая задача.
кстати, для Delphi вы можете использовать некоторую помощь thirdparty:
http://www.tmssoftware.com/site/wupdate.asp
обновление:
для моей реализации:
MyApp.EXE будет работать в 3 разных режимы
-
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
-
MyApp.EXE --обновить "FILENAME".
2.1 попробуйте скопировать себя в "имя файла" каждые 100 мс до успеха.
2.2 вызовите "FILENAME", когда он успешен
2.3 вызовите " FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" на самоликвидацию.
2.4 расторгнуть
-
MyApp.Ехе-удалить "FILENAME"
3.1 Попробуйте удалить файл "FILENAME" каждые 500 мс до успеха.
3.2 расторгнуть
Я уже использую эту схему для своего приложения в течение 7 лет, и она работает хорошо. Это может быть довольно болезненно для отладки, когда все идет не так, так как шаги включают в себя много процессов. Я предлагаю вам сделать много журналов трассировки, чтобы упростить устранение неполадок.
Удачи
нет, точка входа в ваше приложение должно быть управляемым кодом.
Это блоге Брайан Нойес, один из главных авторитетов на ClickOnce и автор развертывание Smart Client с помощью ClickOnce.
Если вы приложение действительно наследие (т. е. VB6, MFC, ATL и т.д.), как и в неуправляемом исполняемом коде, то нет, вы не можете развернуть его как исполняемый файл через ClickOnce.
принято решение кажется быть управляемым кодом заглушки exe, который запускает основной exe.
Я не на 100% уверен, что это можно сделать без заглушки, но эта статья может дать некоторое представление:
как: развертывание ClickOnce для неуправляемого приложения с COM-компонентом в управляемой сборке