Forum Discussion

JF_BAUDE's avatar
JF_BAUDE
Copper Contributor
Oct 06, 2020

Custom action with elevated privilege in MSIX

Hi all

Now I'm able to translate MSI into MSIX (thanks to Advanced Installer Express edition) !

But my actual MSI is executing a lot of Custom Actions, at installation time with elevated privilege, which are currently ignored by the corresponding translated MSIX.

If I understand correctly I will have to use Power Shell scripts instead, but how ?

Is it documented somewhere how to proceed with such Custom Actions ?

 

Rgds

JF BAUDE

 

  • Hi JF_BAUDE,

     

    During an MSIX package installation you cannot execute any code, the all known custom actions support from MSIs does not apply for MSIX packages.

     

    For an app packaged with MSIX, you can execute one PS script when your application launches and one script when the application closes, leveraging the PS support from the Package Support Framework. 

     

    Please note that these scripts get executed after the MSIX has been installed, so you should not consider them the equivalent of MSI custom actions.

     

    Can you give us more details about what actions (customizations) are your custom actions performing? Maybe we can suggest a different solution.

     

    Bogdan

    • JF_BAUDE's avatar
      JF_BAUDE
      Copper Contributor

      Hi Bogdan

       

      Most of my C.A. are adding "customer" certificates like this:

      ...

      <row><td>InstallCertifCA</td><td>3106</td><td>SystemFolder</td><td>certutil.exe -addstore -f "CA" "[INSTALLDIR]certificates\XXX_MyCertificate_CA.crt"</td><td>0</td><td>Installing Certificate CA</td></row>
      ....

      But also "granting" firewall access to our application such:

      <row><td>AddFirewall</td><td>3106</td><td>WindowsFolder</td><td>netsh firewall add allowedprogram "[INSTALLDIR]MyApplication.exe" "MyApplication" ENABLE</td><td>0</td><td>Setting firewall</td></row>

       

      Rgds

      JF BAUDE

       

      • Bogdan Mitrache's avatar
        Bogdan Mitrache
        Steel Contributor

        HIi JF_BAUDE,

         

        You can use the Declarations view to define an app declaration for your firewall. Please note that this can be done only for applications you install from within your package, i.e. you cannot make a firewall configuration for an EXE that is not part of your MSIX package.

         

        For certificates, I am afraid I am not aware of any solution. I don't think MSIX packages are intended for this purpose.

         

        Please note that MSIX packages are designed with a per-user deployment model. Per-machine resource deployment, like certificates, drivers, etc... are not on the radar AFAIK.

        Bogdan

Share

Resources