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>
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
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. –
@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