Question

Est-il possible de déployer une application Delphi native avec ClickOnce sans un exe stub C# qui serait utilisé pour lancer l'application Delphi ?

La même question s'applique à VB6, C++ et autres applications Windows natives.

Était-ce utile?

La solution

Personnellement, je crée mon propre mécanisme pour lancer le processus de mise à jour automatique lorsque l'horodatage de mon application n'est pas synchronisé avec le serveur.Ce n'est pas trop difficile, mais ce n'est pas une tâche simple.

À propos, pour Delphi, vous pouvez utiliser une aide tierce :

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

MIS À JOUR:

Pour ma mise en œuvre :

MyApp.EXE fonctionnera dans 3 modes différents

  1. MyApp.EXE sans aucun argument.Cela démarrera généralement l’application.

    1.1 La toute première chose qu'il fait est de valider son propre temps de fichier avec le serveur.

    1.2 Si une mise à jour est requise, le fichier mis à jour sera téléchargé dans le fichier nommé "MyApp-YYYY-MM-DD-HH-MM-SS.exe".

    1.3 Ensuite, il invoque "MyApp-YYYY-MM-DD-HH-MM-SS.exe" avec l'argument de commande

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

    1.4 Terminez cette application.

    1.5 Si aucune mise à jour n'est requise, l'application démarrera normalement à partir de la version 1.1.

  2. MyApp.EXE --mettre à jour "NOM DE FICHIER".

    2.1 Essayez de vous copier dans "FILENAME" toutes les 100 ms jusqu'à succès.

    2.2 Invoquez "FILENAME" en cas de succès

    2.3 Invoquez "FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" pour se supprimer.

    2.4 Terminer

  3. MyApp.EXE --supprimer "NOM DE FICHIER"

    3.1 Essayez de supprimer le fichier "FILENAME" toutes les 500 ms jusqu'à succès.

    3.2 Terminer

J'utilise déjà ce schéma pour mon application depuis 7 ans et il fonctionne bien.Il peut être assez pénible de déboguer lorsque les choses tournent mal, car les étapes impliquent de nombreux processus.Je vous suggère d'effectuer de nombreuses journaux de trace pour permettre un dépannage plus simple.

Bonne chance

Autres conseils

Non, le point d'entrée de votre application doit être du code géré.

Cela vient d'un article de blog par Brian Noyes, l'un des principaux auteurs de ClickOnce et auteur de Déploiement de clients intelligents avec ClickOnce.

Si votre application est VRAIMENT héritée (c'est-à-direVB6, MFC, ATL, etc.), comme dans un exécutable de code non managé, alors non, vous ne pouvez pas le déployer en tant qu'exécutable via ClickOnce.

La solution de contournement acceptée semble être un exe de stub de code géré qui lance l'exe principal.

Je ne suis pas sûr à 100 % si cela peut être accompli sans le talon, mais cet article peut fournir un aperçu :

Comment:Déploiement ClickOnce pour une application non gérée avec un composant COM dans un assembly géré

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top