SOLVED
Home

replacement for ActiveSetup and AdvertisedShortcut to deploy User Parts

%3CLINGO-SUB%20id%3D%22lingo-sub-643313%22%20slang%3D%22en-US%22%3Ereplacement%20for%20ActiveSetup%20and%20AdvertisedShortcut%20to%20deploy%20User%20Parts%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-643313%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20Techcommunity%2C%3C%2FP%3E%3CP%3Ehow%20is%20it%20possible%20with%20msix%20to%20provide%20user%20parts%20for%20all%20users%20who%20log%20on%20to%20a%20computer%20as%20it%20does%20ActiveSetup%20and%20AdvertisedShortcut%20on%20msi.%3C%2FP%3E%3CP%3EKind%20regards%3C%2FP%3E%3CP%3EThomas%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-648817%22%20slang%3D%22en-US%22%3ERe%3A%20replacement%20for%20ActiveSetup%20and%20AdvertisedShortcut%20to%20deploy%20User%20Parts%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-648817%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F347999%22%20target%3D%22_blank%22%3E%40thomasboettner%3C%2FA%3EMSIX%20is%20technically%20a%20user-based%20installation%2C%20if%20you%20double%20click%20the%20MSIX%20file%20this%20will%20register%20the%20application%20only%20on%20the%20user%20that%20installs%20it.%20However%2C%20all%20the%20files%20are%20placed%20in%20%3CSPAN%3E%25ProgramFiles%25%5CWindowsApps%5CPublisherName.AppName_AppVersion_architecture_hash%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EIf%20another%20user%20wants%20to%20install%20the%20application%2C%20this%20will%20only%20register%20it%20on%20that%20current%20user.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAll%20files%20(including%20user%20files)%20are%20present%20in%20the%20above%20location.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EFrom%20some%20tests%20that%20i%20did%2C%20when%20you%20provision%20an%20app%20on%20all%20users%20using%3C%2FP%3E%3CP%3EAdd-AppxProvisionedPackage%20-online%20-PackagePath%20%22c%3A%5Cpackage.msix%22%2C%20after%20another%20user%20logs%20in%20on%20the%20machine%2C%20the%20install%20(or%20publish%20to%20be%20more%20correct)%20of%20the%20app%20will%20happen%20silently%20and%20all%20the%20userdata%20that%20is%20present%20in%20the%20VFS%20of%20the%20MSIX%20(from%20%25PF%25%5CWindowsApps)%20will%20be%20published%20in%20the%20user%20location%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3E%25localappdata%25%5Cpackages%5CPublisherName.AppName_hash%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThat%20location%20simulates%20all%20the%20necessary%20user%20locations%20like%20AppData%2C%20LocalCache%2C%20RoamingState%2C%20etc.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESo%20in%20theory%2C%20you%20don't%20need%20ActiveSetup%20or%20Advertised%20Shortcuts%20to%20place%20userdata%20like%20we%20did%20on%20MSI%20technology.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-666360%22%20slang%3D%22en-US%22%3ERe%3A%20replacement%20for%20ActiveSetup%20and%20AdvertisedShortcut%20to%20deploy%20User%20Parts%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-666360%22%20slang%3D%22en-US%22%3ESounds%20good%2C%20ill%20try%20it%20out.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1167730%22%20slang%3D%22en-US%22%3ERe%3A%20replacement%20for%20ActiveSetup%20and%20AdvertisedShortcut%20to%20deploy%20User%20Parts%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1167730%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F347999%22%20target%3D%22_blank%22%3E%40thomasboettner%3C%2FA%3E%20Consider%20the%20%22supported%22%20method%20of%20this.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAny%20MSIX%20package%20can%20be%20pre-deployed%20using%20the%20powershell%20cmdlet.%26nbsp%3B%20The%20pre-deployment%20adds%20the%20files%20in%20place%20without%20completing%20the%20%22per%20user%22%20installation.%20Whenever%20a%20user%20logs%20onto%20that%20OS%2C%20the%20package%20will%20be%20%22installed%22%20to%20that%20user%2C%20which%20only%20consists%20of%20the%20user%20integration%2C%20and%20any%20licensing%20needed.%26nbsp%3B%20Keep%20in%20mind%20that%20this%20is%20for%20all%20users%20on%20that%20OS%20instance%2C%20and%20if%20you%20need%20per-user%20deployment%20to%20a%20subset%20of%20users%20then%20something%20like%20SCCM%20or%20MSIX%20AppAttach%20would%20be%20more%20appropriate.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
thomasboettner
Occasional Contributor

Hello Techcommunity,

how is it possible with msix to provide user parts for all users who log on to a computer as it does ActiveSetup and AdvertisedShortcut on msi.

Kind regards

Thomas

3 Replies
Highlighted
Solution

@thomasboettnerMSIX is technically a user-based installation, if you double click the MSIX file this will register the application only on the user that installs it. However, all the files are placed in %ProgramFiles%\WindowsApps\PublisherName.AppName_AppVersion_architecture_hash

If another user wants to install the application, this will only register it on that current user.

 

All files (including user files) are present in the above location.

 

From some tests that i did, when you provision an app on all users using

Add-AppxProvisionedPackage -online -PackagePath "c:\package.msix", after another user logs in on the machine, the install (or publish to be more correct) of the app will happen silently and all the userdata that is present in the VFS of the MSIX (from %PF%\WindowsApps) will be published in the user location:

 

%localappdata%\packages\PublisherName.AppName_hash

 

That location simulates all the necessary user locations like AppData, LocalCache, RoamingState, etc.

 

So in theory, you don't need ActiveSetup or Advertised Shortcuts to place userdata like we did on MSI technology.

 

 

Highlighted
Sounds good, ill try it out.
Highlighted

@thomasboettner Consider the "supported" method of this.

 

Any MSIX package can be pre-deployed using the powershell cmdlet.  The pre-deployment adds the files in place without completing the "per user" installation. Whenever a user logs onto that OS, the package will be "installed" to that user, which only consists of the user integration, and any licensing needed.  Keep in mind that this is for all users on that OS instance, and if you need per-user deployment to a subset of users then something like SCCM or MSIX AppAttach would be more appropriate.