Forum Discussion
App installs with no errors, but does not fully install
One set is under HKLM\Software. The other is under HKCU\Software. Neither are coming through. They are ODBC definitions.
Here are screen captures of the Virtual Registry in the package and what the registry on the machine I install the package on after installation.
- Apr 28, 2020
David Hed Looking at your manifest, I see three things.
- Package includes a service. While you can package it up on an older OS, the runtime support for services inside the package exists only in new "2004" version of the OS. Please be sure that you are not testing on 1909.
- I see the FlexNet service is involved. I would suggest directly reaching out to Flexera as to how to handle apps including their service. While their experience with MSIX will be with their own packaging tool, concepts on how to handle their licensing service should be portable to any packaging tool.
- I see "Common AppData" mentioned. Packages with content under "C:\program data" will need the Psf FileRedirectionFixup, much like "AppData" and "LocalAppData".
- David HedApr 28, 2020Copper Contributor
Sorry.....I had been digging internally so much I didn't see the button for the manifest file right in front of my face. Attached is a docx with the contents.
- Apr 27, 2020
Another possibility I did not consider. Are you building to deploy to older OSs using MSIX Core?
- Apr 27, 2020
David Hed Well something has to generate an AppXManifest.xml file and it has to be at the root of the package or you don't have a MSIX file! It really isn't clear from the thread if you used the Microsoft MSIX Packaging Tool to generate the package, or if you are building your own using MakePri/MakeAppX.
The Packaging Tool will generate the AppXManifest.xml file for you, so if it did not then the tool should have generated an error in creating the package.
- David HedApr 27, 2020Copper Contributor
I have tried Invoke-CommandInDesktopPackage on 3 machines. I have tried MSIX Commander on 2.
Still cannot locate an appmanifest.xml file when unpacking the package. I have attached copies of 2 .manifest files from the Log folder.
- ChaconApr 27, 2020
Microsoft
I couldn't see any attached logs. Could you double check?
The manifest file is inside the package. You can view it by unpacking your .msix, e.g. by using the Package editor in the MSIX Packaging Tool, or using any zip extraction utility. If you unpack the .msix, the file name will be AppxManifest.xml.
You can also find the manifest generated by the MSIX Packaging Tool in its logs folder. It will be a file with a .Manifest extension.
The way you are installing and packaging your application seems correct to me overall. I think to solve your problem we need to focus more on what happens after you install the .msix and run it.
Could you try Invoke-CommandInDesktopPackage or MSIX Commander again, if possible in a different machine?
- David HedApr 27, 2020Copper Contributor
Machine is in developer mode. App did not generate a Manifest file. Recreated package, again no Manifest file. Have attached log.
- Apr 27, 2020
David Hed Perhaps do the following to help us understand:
- Confirm you have developer mode enabled (due to publisher name shown in attachment)
- Post the AppxManifest.xml file from the package.
- David HedApr 27, 2020Copper Contributor
Chacon Dan Gough TIMOTHY_MANGAN
Tried using CommandInDesktopPackage from powershell. Error attached.
Installed MSIX Commander and ran. Error attached.
I assume my methodology is not working. I copy a folder called DB2 to the Desktop of my Hyper-V I use building packages. When I create the package, I launch Powershell ISE and run the commands below. Can you suggest a better way to accomplish what I'm trying to do?
Start-Process -FilePath "C:\Users\Dave\Desktop\DB2\setup.exe" # *Installs the App
Copy-Item -Path "\Users\Dave\Desktop\DB2\db2consv_zs.lic" -Destination "C:\Program Files\ibm\SQLLIB\BIN\db2consv_zs.lic" *Copies license file
Start-Process -FilePath "C:\Program Files\ibm\SQLLIB\BIN\db2licm.exe" -ArgumentList '-a db2consv_zs.lic' *Activates license
Start-Process -FilePath "C:\Windows\regedit.exe" -ArgumentList "/s C:\Users\Dave\Desktop\DB2\systemodbc.reg" # *Install System ODBC connections
Start-Process -FilePath "C:\Windows\regedit.exe" -ArgumentList "/s C:\Users\Dave\Desktop\DB2\userodbc.reg" # *Install User ODBC connections
- ChaconApr 24, 2020
Microsoft
I assume what you say about how you call regedit is about the Powershell script you use for installing the application?
After you create the MSIX package and install it, how are you launching Regedit to see the changes to the registry? The keys from HKLM\Software\ODBC should be present if you view the registry from inside the packaged app's container.
- Apr 24, 2020
David Hed et al,
Any time their is doubt as to if a process is running inside or outside of the container, looking at the Job details help. The container is implement using a Job Object, and when a process like ps or regedit jumps out of the container it won't have one. May be seen as a hidden column of Task Manager or in the process properties when using ProcessExplorer.
- ChaconApr 23, 2020
Microsoft
To reiterate what Dan Gough already said, it is expected that you do not see the registry keys from your package when you run Regedit normally. Packaged apps run inside a container and you will only be able to see the keys from inside the app's container.
To see what the registry looks like for your app, you would need to launch Regedit inside the container. You can do "Invoke-CommandInDesktopPackage -PackageFamilyName <your package's family name> -Command regedit.exe", or use one of the tools Dan suggested. You should see the expected keys under HKLM\Software\ODBC.
I'm not familiar with ODBC, but if what reads the registry keys is outside of your package, it will not be able to see the keys in it. To see them it would have to be inside the container.
- Dan GoughApr 23, 2020Brass Contributor
David Hed How did you launch RegEdit? (as I don't see you have Powershell or any other tools open)
If you launch it normally, it won't be able to see any of the registry entries, that is expected behaviour. To launch a local exe like regedit inside the container, you would need to enable developer mode and then use the Invoke-CommandInDesktopPackage command, or a 3rd party tool like Hover, MSIX Hero or MSIX Commander.