Application ClickonceQuelqu'un a-t-il la syntaxe nécessaire pour exécuter une application clickonce. J'ai essayé
Exécuter de programme(C'estexécutable ("application clickonce" ));
Ce qui, je pensais, ne fonctionnerait pas. Il y a-t-il des alternatives?
Re : Application ClickonceEn utilisant la méthode rundll32, le paramètre peut être transmis au programme clickonce comme ci-dessous :
RunProgram(
executable( "rundll32.exe" ),
options( {"dfshim.dll,ShOpenVerbShortcut","PathToShortcut.appref-ms|parameter"} ),
readfunction( "text" )
);
Re : Application ClickonceLa méthode rundll32 fonctionne toute seule mais je ne trouve pas de moyen de transmettre le paramètre au .appref-ms. J'ai finalement résolu le problème en utilisant ce qui suit :
RunProgram(
executable( "cmd.exe" ),
options(
{"/c",
"\!"PathToShortcut.appref-ms\!"",
"parameter"}
),
readfunction( "text" )
);J'ai ajouté les guillemets doubles à mon PathToShortcut.appref-ms car il contient des espaces.
Re : Application ClickonceJe l'ai compris après avoir assez fouillé.
web(" cliquez une fois sur l'application.appref-ms");
Re : Application ClickonceCe qui suit pourrait être utile, il est tiré de :
http://www.brad-smith.info/blog/archives/535
Démarrage des applications ClickOnce
Contrairement aux exécutables normaux, les applications déployées à l'aide de ClickOnce sont démarrées à l'aide d'un programme d'amorçage (qui est normalement géré par le shell). Cela inclut les applications écrites dans Windows Forms, WPF ou Silverlight. Les raccourcis vers les applications ClickOnce ont l'extension .appref-ms (plutôt que .lnk pour les raccourcis classiques), et ces fichiers ne sont pas reconnus par la commande start (comme dans l'exemple précédent).
Heureusement, ils peuvent être exécutés en utilisant la syntaxe suivante :
1 | rundll32.exe dfshim.dll,ShOpenVerbShortcut [path to appref-ms file] |
Où [chemin d'accès au fichier appref-ms] est le chemin complet du fichier de raccourci ClickOnce. Le chemin peut inclure des variables d'environnement telles que %USERPROFILE% si, par exemple, vous souhaitez pointer vers un raccourci sur le bureau de l'utilisateur.
Comment cela marche-t-il?
- La commande rundll32 exécute une fonction dans une DLL Win32 comme s'il s'agissait d'un fichier exécutable. Vous souhaiterez peut-être l'utiliser lorsque vous disposez d'une fonction qui est principalement appelée à partir du code (mais qui fonctionne toujours de manière indépendante), si vous souhaitez éviter de créer de nombreux exécutables alors qu'une seule DLL suffit, ou pour masquer délibérément une commande à laquelle les utilisateurs ne sont pas destinés. commencer.
- dfshim.dll est responsable d’une grande partie des fonctionnalités de ClickOnce ; il contient des fonctions pour installer, supprimer, démarrer et mettre à jour des applications et est distribué dans le cadre du .NET Framework.
- Le nom de la fonction que nous voulons est ShOpenVerbShortcut , qui est la même fonction que celle utilisée par le shell Windows pour exécuter les fichiers de raccourci .appref-ms. Vous passez simplement un chemin vers la fonction et elle s'occupe du reste.