Package Name case sensitivity and "ghost packages"

%3CLINGO-SUB%20id%3D%22lingo-sub-2379384%22%20slang%3D%22en-US%22%3EPackage%20Name%20case%20sensitivity%20and%20%22ghost%20packages%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2379384%22%20slang%3D%22en-US%22%3E%3CP%3EAttached%20are%20two%20snapshots%20from%20get-appxpackage%20taken%20of%20the%20same%20package%20that%20has%20been%20installed%20on%20two%20different%20systems.%26nbsp%3B%20There%20is%20a%20difference%20in%20the%20display%20of%20the%20Name%20field%20of%20the%20package%20(although%20no%20difference%20the%20PackageFamilyName).%26nbsp%3B%20This%20raises%20the%20question%20on%20uniqueness%20of%20package%20names%20and%20how%20the%20system%20(and%20various%20tools%20including%20various%20Microsoft%20third%20party%20deployment%20tools)%20should%20handle%20it.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHere%20is%20how%20this%20(probably)%20happened.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EA%20first%20version%20of%20a%20package%20was%20created%20using%20the%20name%20%22TestApp-Spc-App1%22.%26nbsp%3B%20It%20was%20installed%20on%20the%20System%201%20only.%26nbsp%3B%20Then%20the%20package%20was%20removed%20and%20package%20file%20deleted.%26nbsp%3B%20A%20completely%20new%20package%20was%20then%20created%20with%20the%20name%20%22TestApp-SPC-App1%22.%26nbsp%3B%20%26nbsp%3BThis%20new%20package%20was%20installed%20(via%20appinstaller)%20on%20both%20systems.%26nbsp%3B%20It%20is%20System%201%20that%20shows%20the%20old%20name.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20know%20from%20seeing%20some%20open-source%20code%20somewhere%20(probably%20package%20manager)%20that%20when%20a%20package%20is%20removed%20the%20files%20are%20not%20immediately%20deleted%20but%20seem%20to%20be%20moved%20temporarily%20to%20a%20different%20hidden%20folder.%26nbsp%3B%20I%20am%20guessing%20that%20information%20about%20the%20prior%20removed%20package%20must%20have%20been%20gleamed%20from%20there%20when%20the%20new%20package%20was%20installed.%26nbsp%3B%20I%20even%20tried%20uninstalling%2C%20rebooting%2C%20and%20installing%20the%20app%20again%20on%20System%201%20and%20had%20the%20same%20result.%26nbsp%3B%20Perhaps%20there%20is%20a%20need%20to%20wait%20a%20more%20significant%20amount%20of%20time%20before%20attempting%20the%20new%20install%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIt%20seems%20that%20one%20or%20more%20of%20the%20following%20might%20be%20necessary%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EGuidance%20is%20needed%20in%20regard%20to%20uniqueness%20and%20case%20sensitivity.%26nbsp%3B%20There%20may%20be%20separate%20guidance%20to%20package%20creators%20and%20to%20tooling%20vendors%20needed.%3C%2FLI%3E%0A%3CLI%3EThere%20may%20be%20a%20flaw%20in%20the%20AppInstaller%20installation%20software%20to%20be%20fixed%20as%20it%20seems%20that%20information%20was%20picked%20up%20from%20the%20prior%20package%20and%20there%20seems%20to%20be%20no%20good%20reason%20for%20this.%3C%2FLI%3E%0A%3CLI%3EAssuming%20that%20I%20am%20correct%20in%20guessing%20that%20there%20is%20a%20background%20cleanup%20performed%20long%20after%20a%20package%20is%20removed%2C%20is%20there%20any%20way%20for%20deployment%20tooling%20to%20determine%20this%20is%20still%20pending%3F%26nbsp%3B%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2427989%22%20slang%3D%22en-US%22%3ERe%3A%20Package%20Name%20case%20sensitivity%20and%20%22ghost%20packages%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2427989%22%20slang%3D%22en-US%22%3EThanks%20for%20posting%20this%20we%20are%20looking%20into%20the%20issue.%3C%2FLINGO-BODY%3E
MVP

Attached are two snapshots from get-appxpackage taken of the same package that has been installed on two different systems.  There is a difference in the display of the Name field of the package (although no difference the PackageFamilyName).  This raises the question on uniqueness of package names and how the system (and various tools including various Microsoft third party deployment tools) should handle it.

 

Here is how this (probably) happened.

 

A first version of a package was created using the name "TestApp-Spc-App1".  It was installed on the System 1 only.  Then the package was removed and package file deleted.  A completely new package was then created with the name "TestApp-SPC-App1".   This new package was installed (via appinstaller) on both systems.  It is System 1 that shows the old name.

 

I know from seeing some logging message that when a package is removed the files are not immediately deleted but seem to be moved temporarily to a different hidden folder under WindowsApps called Deleted.  I am guessing that information about the prior removed package must have been gleamed from there when the new package was installed.  I even tried uninstalling, rebooting, and installing the app again on System 1 and had the same result.  Perhaps there is a need to wait a more significant amount of time before attempting the new install?

 

It seems that one or more of the following might be necessary:

  • Guidance is needed in regard to uniqueness and case sensitivity.  There may be separate guidance to package creators and to tooling vendors needed.
  • There may be a flaw in the AppInstaller installation software to be fixed as it seems that information was picked up from the prior package and there seems to be no good reason for this.
  • Assuming that I am correct in guessing that there is a background cleanup performed long after a package is removed, is there any way for deployment tooling to determine this is still pending? 

 

1 Reply
Thanks for posting this we are looking into the issue.