0

J'essaie de créer un test AppX à partir de DesktopAppConverter.exe en utilisant un simple fichier de commandes en tant qu'installateur. Voici ce que le fichier batch fait:Comment empêcher DesktopAppConverter de supprimer des fichiers non exécutables lors de la création d'AppX?

ECHO OFF 

mkdir c:\target 

copy c:\source\testfile.txt c:\target 

copy c:\source\app.vhd c:\target 

copy c:\windows\system32\kernel32.dll c:\target 

copy c:\windows\system32\calc.exe c:\target 

EXIT 0 

Une fois que le package est créé, le répertoire « cible » dans le répertoire VFS contient les fichiers « Kernel32.dll » et « calc.exe », mais ne pas l'application .vhd ou le fichier testfile.txt.

Quelqu'un peut-il m'aider avec un moyen d'obtenir ces fichiers dans le paquet?

Le commandline DesktopAppConverter.exe ressemble ci-dessous:

DesktopAppConverter.exe -Installer C: \ source de \ dummyappxinstaller.bat -> Destination C: \ appx \ -PackageName "DummyAppx" -Éditeur « CN = AppVolumes » -> version 0.0.0.1 -MakeAppx -Verbose -AppExecutable c: \ target \ calc.exe`

le processus de création réussit avec l'avertissement W_INSTALL_PATH_NOT_DISCOVERED.

+0

Pouvez-vous vérifier si le fichier app.vhd ou le fichier testfile.txt se trouvent dans le répertoire PackageFiles? Je vais essayer à mes côtés de vérifier s'il est possible de mettre en œuvre votre exigence. –

+0

@ FangPeng-MSFT: Ils sont manquants dans le répertoire Package Files. Je vois kernel32.dll et calc.exe dans le dossier 'target' sous VFS. Une raison possible pourquoi le .vhd et.txt sont supprimés lors de la création d'appx? – Dev28

+0

Il est également intéressant d'observer que lorsque je crée mon propre helloworld.exe et le place dans le dossier source mentionné dans le fichier de commandes ci-dessus, même cela n'apparaît pas dans l'AppX !!! – Dev28

Répondre

0

Ceci est un résultat attendu. Je vais essayer de l'expliquer clairement.

copie c: \ source de \ testfile.txt c: \ target

Lorsque vous utilisez le Commend ci-dessus au cours du processus du convertisseur de bureau, il va essayer de localiser le testfile.txt dans la VFS (système de fichiers virtuel), en réalité ce fichier n'existe pas dans le VFS, donc vous ne pouvez pas trouver ce fichier dans le dossier cible.

copie c: \ windows \ system32 \ kernel32.dll c: \ target
copie c: \ windows \ system32 \ calc.exe c: \ target

Mais pour le kernel32.dll et calc.exe ils sont dans le dossier système et ils existent également dans le système VFS, de cette façon vous ne pouvez pas trouver ces deux fichiers dans le dossier cible dans le dossier VFS.

Si vous souhaitez inclure le testfile.txt lors de la création de l'Appx, essayez d'utiliser un outil d'installation pour l'empaqueter avec votre fichier d'installation.

+0

Merci Fang. Que serait l'utilisation d'un installateur causee DAC à se comporter différemment par rapport à une copie de fichier? – Dev28

+0

Par exemple, vous avez un fichier txt dans votre application, après la conversion AppData est redirigé vers le magasin de données de l'application locale, qui est un magasin privé pour chaque application UWP. Pour plus d'informations, veuillez vérifier: https://msdn.microsoft.com/id-id/windows/uwp/porting/desktop-to-uwp-prepare –