是否可以使用ClickOnce部署本机Delphi应用程序

Bra*_*nko 9 delphi deployment clickonce

是否可以使用ClickOnce部署本机Delphi应用程序而不使用将用于启动Delphi应用程序的存根C#exe?

同样的问题适用于VB6,C++和其他本机Windows应用程序.

Sak*_*ake 8

就个人而言,当我的应用程序时间戳与服务器不同步时,我构建了自己的机制来启动自我更新过程.不太难,但这不是一项简单的任务.

顺便说一句,对于Delphi,您可以使用第三方帮助:

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
    
    Run Code Online (Sandbox Code Playgroud)

    1.4终止此应用程序.

    1.5如果不需要更新,则应用程序将从1.1正常启动

  2. MyApp.EXE - 更新"FILENAME".

    2.1尝试每100毫秒将自身复制到"FILENAME",直到成功为止.

    2.2成功时调用"FILENAME"

    2.3调用"FILNAME - 删除MyApp-YYYY-MM-DD-HH-MM-SS.exe"删除自身.

    2.4终止

  3. MyApp.EXE - 删除"FILENAME"

    3.1尝试每500ms删除文件"FILENAME",直到成功为止.

    3.2终止

我已经将这个方案用于我的应用程序7年了,它运作良好.由于步骤涉及许多过程,因此在出现问题时进行调试可能会非常痛苦.我建议你进行大量的跟踪记录,以便更简单的故障排除.

祝好运