2017-04-07 1 views
1

J'ai une application que j'ai convertie en utilisant le Desktop to UWP Bridge, en particulier le Desktop App Converter qui le fait tout automatiquement. Il convertit et installe bien mais quand j'essaye de l'exécuter je reçois une erreur que l'exécutable exige l'élévation. Je peux résoudre cela avec Right Click -> Run as Administrator mais j'aimerais que l'application reconditionne l'application par défaut, donc cette étape supplémentaire n'est pas nécessaire. Il est à noter que je peux exécuter l'application comme une installation normale sans privilèges d'administrateur, c'est seulement l'application convertie qui nécessite cela.L'exécution d'une application convertie avec Windows Desktop Bridge en tant qu'administrateur?

Existe-t-il un moyen d'inclure la demande d'élévation requise dans le fichier AppxManifest.xml associé à la conversion de l'application? J'espérais qu'il y aurait quelque chose d'aussi simple que

<Application Id="MyApp" Permissions="Administrator"> 

Il y a docs sur le here manifeste, mais je ne peux pas trouver tout ce qui concerne les autorisations ou les niveaux d'élévation. Il s'agit du AppxManifest.xml généré par le convertisseur.

<?xml version="1.0" encoding="utf-8"?> 
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"> 
    <Identity Name="MyApp" ProcessorArchitecture="x86" Publisher="CN=Me" Version="5.70.0.0" /> 
    <Properties> 
    <DisplayName>MyApp</DisplayName> 
    <PublisherDisplayName>Me</PublisherDisplayName> 
    <Logo>Assets\AppStoreLogo.png</Logo> 
    </Properties> 
    <Resources> 
    <Resource Language="en-us" /> 
    <Resource uap:Scale="100" /> 
    <Resource uap:Scale="125" /> 
    <Resource uap:Scale="150" /> 
    <Resource uap:Scale="200" /> 
    <Resource uap:Scale="400" /> 
    </Resources> 
    <Dependencies> 
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" /> 
    </Dependencies> 
    <Capabilities> 
    <rescap:Capability Name="runFullTrust" /> 
    </Capabilities> 
    <Applications> 
    <Application Id="MyApp" Executable="Integrator.exe" EntryPoint="Windows.FullTrustApplication"> 
     <uap:VisualElements DisplayName="MyApp" Description="MyApp" BackgroundColor="transparent" Square150x150Logo="Assets\AppMedTile.png" Square44x44Logo="Assets\AppList.png"> 
     <uap:DefaultTile Wide310x150Logo="Assets\AppWideTile.png" Square310x310Logo="Assets\AppLargeTile.png" Square71x71Logo="Assets\AppSmallTile.png"> 
      <uap:ShowNameOnTiles> 
      <uap:ShowOn Tile="square150x150Logo" /> 
      <uap:ShowOn Tile="wide310x150Logo" /> 
      <uap:ShowOn Tile="square310x310Logo" /> 
      </uap:ShowNameOnTiles> 
     </uap:DefaultTile> 
     </uap:VisualElements> 
     <Extensions> 
     <uap3:Extension Category="windows.fileTypeAssociation"> 
      <uap3:FileTypeAssociation Name="gfe"> 
      <uap:SupportedFileTypes> 
       <uap:FileType>.gfe</uap:FileType> 
      </uap:SupportedFileTypes> 
      </uap3:FileTypeAssociation> 
     </uap3:Extension> 
     <uap3:Extension Category="windows.fileTypeAssociation"> 
      <uap3:FileTypeAssociation Name="gfs"> 
      <uap:SupportedFileTypes> 
       <uap:FileType>.gfs</uap:FileType> 
      </uap:SupportedFileTypes> 
      </uap3:FileTypeAssociation> 
     </uap3:Extension> 
     <uap3:Extension Category="windows.appExecutionAlias" Executable="Integrator.exe" EntryPoint="Windows.FullTrustApplication"> 
      <uap3:AppExecutionAlias> 
      <desktop:ExecutionAlias Alias="Integrator5.exe" /> 
      </uap3:AppExecutionAlias> 
     </uap3:Extension> 
     </Extensions> 
    </Application> 
    </Applications> 
</Package> 

Répondre

4

L'élévation automatique pour les applications n'est pas prise en charge aujourd'hui. L'utilisateur peut choisir d'exécuter votre application en tant qu'administrateur.

Cette politique est appelée dans le guide de préparation pour le pont de bureau: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-prepare (puce n ° 2)

Merci, Stefan Wick - Windows Developer Platform

+0

Merci pour cela. Comme je l'ai mentionné, l'application fonctionne sans privilèges d'administrateur lorsqu'elle est installée/exécutée normalement, c'est seulement après la conversion avec le pont qu'elle nécessite un administrateur. Y a-t-il une raison pour laquelle le CAD modifierait tout ce qui entoure cela? – James

+0

Avez-vous débogué à travers votre code pour voir quelle opération déclenche exactement la demande d'élévation? Vous devrez peut-être faire un changement de code dans l'application là-bas. –

+0

@StefanWickMSFT, puis-je avoir au moins un bouton pour que l'utilisateur dans mon application le redémarre comme élevé? Je l'ai fait var startInfo = new ProcessStartInfo (Process.GetCurrentProcess(). MainModule.FileName) {Verb = "runas"}; Process.Start (startInfo); dans les applications de bureau, mais lorsqu'il est livré avec Desktop Bridge, cet appel échoue. – LOST