MSIX Command Line Argument

Brass Contributor

Hey guys,

 

I'm trying to convert an App-V package to an MSIX package. I've tried using the packager to make a new package from scratch, and I've tried converting the package.

 

Normally, my program's shortcut launches an executable with a command line argument. MSIX doesn't seem to support this in the manifest XML file, unlike App-V.

 

I've listed a comparison of both below. 

 

App-V manifest item (has arguments, is working):

        <appv:Extension Category="AppV.Shortcut">
            <appv:Shortcut>
                <appv:File>[{Programs}]\Microsoft Dynamics\GP 2015\GP.lnk</appv:File>
                <appv:Target>[{ProgramFilesX86}]\Microsoft Dynamics\GP2015\Dynamics.exe</appv:Target>
                <appv:Icon>[{ProgramFilesX86}]\Microsoft Dynamics\GP2015\Dynamics.exe.0.ico</appv:Icon>
                <appv:Arguments>Dynamics.set</appv:Arguments>
                <appv:WorkingDirectory>[{ProgramFilesX86}]\Microsoft Dynamics\GP2015\</appv:WorkingDirectory>
                <appv:ShowCommand>1</appv:ShowCommand>
                <appv:ApplicationId>[{ProgramFilesX86}]\Microsoft Dynamics\GP2015\Dynamics.exe</appv:ApplicationId>
            </appv:Shortcut>
        </appv:Extension>

 

MSIX manifest item (doesn't have arguments, isn't working):

<Application Id="DYNAMICS" Executable="VFS\ProgramFilesX86\Microsoft Dynamics\GP2015\Dynamics.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements BackgroundColor="transparent" DisplayName="GP" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="GP">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" Square310x310Logo="Assets\Square310x310Logo.png" Square71x71Logo="Assets\Square71x71Logo.png" />
</uap:VisualElements>
</Application>
  
How can I edit my MSIX package so that the start menu items launch with the appropriate command line arguments?
25 Replies

@BrettBurgeson 

I have been thinking about your scenario further, and have a suggestion for your consideration.

 

If I understand the problem correctly, in the end, your request is one about modifying the behavior of the application based on information that is only available at the time of installation.  Before MSIX, this was accomplished by building a specialized shortcut at the time of the installation that added command line parameters with the required information obtained from the query string.

 

We have been discussing ways to get the equivalent using the Psf, but this might not be the best way.  While it is "nice" to think about keeping everything inside the package, you should consider having the package be generic and having the installation experience configure an external reference with the needed data.

 

For this to work, the package shortcut would go to a launcher program that would read this data and start the app with appropriate command line arguments.  This could be an special exe someone writes, or you could use PsfLauncher to start a cmd file with that logic.

 

As to the data, that could be placed in a native file or registry.  Your installation experience would be one that creates the data file/reg from the query string and then just runs AppInstaller to install the app.  This might not be a pure "MSIX" approach, but it might get the job done.

@TIMOTHY MANGAN 

Thank you for that suggestion. I will present this to the rest of the team.

 

Brett

Hi @Bogdan Mitrache,

 

Need your help to understand it is possible to edit MSIX package from command line using advanceinstaller.com? 

 

Can you please share any document which help us to edit MSIX package from command line.

 

Examplea

1) Add/Delete a file from msix package.

2) ADD/Delete Registry Entries.

3) To change any property of the package.

 

 

Thanks

Raviteja

 

Hi @Ravitejaj8787 

 

Advanced Installer generates the MSIX packages from a project. So while using our application you usually edit the project, not the package directly. Once you finished editing and hit the "Build" button you can generate the MSIX.

 

Why I am telling all this? To clarify what our command line support can do. Currently Advanced Installer has an extensive command line support that allows you to modify a project from which you can generate a package, but you cannot edit the package directly.

 

Can you give us more details about the scenario you have in mind? 

 

Regards,

Bogdan

Hi @BrettBurgeson,

 

It seems you can now pass query params to your applications deployed via an MSIX and the App Installer

 

- Passing installation parameters to a Windows application with MSIX and App Installer

 

Bogdan

 

@Bogdan Mitrache That is good news. Thank you for the update.