0

J'ai créé une application UWP avec des extensions de bureau et ajouté la tâche de démarrage comme mentionné here.Erreur: "Cette application ne peut s'exécuter que dans le contexte d'un conteneur d'application."

Je me suis déconnecté et connecté et a obtenu l'erreur dans le titre, et je ne sais pas comment y remédier, car si c'est logique - pourquoi n'est-ce pas dans un conteneur? Cela devrait arriver automatiquement, non? Le lien parle d'une application UWP.

EDIT

L'extrait d'extension comme here demandé.

<Extensions> 
    <desktop:Extension Category="windows.startupTask" Executable="AutoStartupTest.exe" EntryPoint="Windows.FullTrustApplication"> 
    <desktop:StartupTask TaskId="someId" Enabled="true" DisplayName="Hi user!" /> 
    </desktop:Extension> 
</Extensions> 
+0

Je sais que l'erreur n'est pas très utile. Est-ce un .NET exécutable? Essayez de le placer dans un sous-dossier et de le référencer en conséquence dans le manifeste, par ex. Executable = "Win32 \ AutoStartupTest.exe". Faites-moi savoir si cela ne le résout pas. –

+0

@StefanWickMSFT Je le testais sur une application UWP normale. Cela semble impossible. J'ai essayé maintenant avec une application Centennial et cela fonctionne parce qu'il appelle un .net exe qui ne doit pas être exécuté dans un conteneur d'application. Merci quand même. – ispiro

+0

Cela fonctionne également lorsque l'application principale est UWP et que la tâche de démarrage est un EXE de bureau standard. Faites-moi savoir si vous ne pouvez pas le faire fonctionner et je vais partager un projet d'exemple de travail. –

Répondre

2

La prise en charge de StartupTask pour les processus UWP est prévue dans la mise à jour de Fall Creators plus tard cette année.

Ce que vous pouvez faire aujourd'hui est d'ajouter un non-UWP EXE à votre package UWP et référence comme StartupTask. Assurez-vous de le placer dans un sous-dossier à l'intérieur de votre paquet et de le référencer en conséquence, par ex. Exécutable = "Win32 \ AutoStartTest.exe". Dans cette approche, vous devrez également déclarer la capacité 'runFullTrust'.