Add-In Express Registration for All Users

Add-in Express™ Support Service
That's what is more important than anything else

Add-In Express Registration for All Users
Add-In Express Registration for All Users 
KristianG




Posts: 39
Joined: 2011-11-03
Hi,

My Addin and installer were working fine until my customer decided that the Addin needs to be installed on "perMachine" basis rather than on "perUser" basis.

I modified the corresponding configuration in the wix setup .wxs file and it installed to the "Program Files" folder, but now the Add-in is not registered on the machine.

I have also seen this https://www.add-in-express.com/forum/read.php?a&FID=5&TID=13658&SHOWALL_1=0

and implemented the Post Build Action as well.

Can you help me on this?

Here is my wxs file.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
  <Product Id="*" Name="EasyBrand" Language="1033" Version="1.0.0" Manufacturer="Optimentor" UpgradeCode="{78C038E2-044D-406A-807E-67BF411B053B}" Codepage="1252">
    <Package AdminImage="no" Comments="EasyBrand" Compressed="yes" Description="EasyBrand customized solution for SimCorp" InstallerVersion="200" InstallScope="perMachine" InstallPrivileges="elevated" Languages="1033" Manufacturer="Optimentor" Platform="x86" ReadOnly="no" ShortNames="no" SummaryCodepage="1252" />
    <Media Id="1" Cabinet="EasyBrand.cab" EmbedCab="yes" DiskPrompt="CD-ROM #1" />
    <Property Id="DiskPrompt" Value="EasyBrand Installation [1]" />
    <Property Id="ARPCOMMENTS" Value="EasyBrand" />
    <Property Id="ARPCONTACT" Value="Optimentor" />
    <!-- The ".NET Framework" launch condition. -->
    <PropertyRef Id="NETFRAMEWORK45"/>
    <Condition Message="This setup requires the .NET Framework 4.5.  Please install the .NET Framework and run this setup again."><![CDATA[Installed OR NETFRAMEWORK45]]></Condition>
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <Binary Id="adxregistrator_exe" SourceFile="$(var.ADX_PATH)Redistributablesdxregistrator.exe" />
    <!-- The "adxregistrator.exe" custom action. -->
    <CustomAction Id="_9C8E668A_0084_4800_B7E9_FD23D6D4557C" BinaryKey="adxregistrator_exe" Execute="deferred" ExeCommand="/install=&quot;[TARGETDIR]$(var.EasyBrand.TargetFileName)&quot; /privileges=admin" Impersonate="yes" />
    <!-- The "adxregistrator.exe" custom action. -->
    <CustomAction Id="_26024D03_FB76_44E5_8CCB_34744AFD128D" BinaryKey="adxregistrator_exe" Execute="rollback" ExeCommand="/uninstall=&quot;[TARGETDIR]$(var.EasyBrand.TargetFileName)&quot; /privileges=admin" Impersonate="yes" />
    <!-- The "adxregistrator.exe" custom action. -->
    <CustomAction Id="_6CCB6E6C_70A5_4DB8_8EDA_8F976708A962" BinaryKey="adxregistrator_exe" Execute="deferred" ExeCommand="/uninstall=&quot;[TARGETDIR]$(var.EasyBrand.TargetFileName)&quot; /privileges=admin" Impersonate="yes" />
    <!-- Initialize the "TARGETDIR" directory property. -->
    <CustomAction Id="DIRCA_TARGETDIR" Property="TARGETDIR" Value="[ProgramFilesFolder][Manufacturer][ProductName]" Execute="firstSequence" />
    <Property Id="PREVIOUSINSTALLFOLDER">
      <RegistrySearch Id="_D3745FFC_340B_43A4_AC18_40A3D9FA44B1" Root="HKLM" Key="Software[Manufacturer][ProductName]" Name="Installed" Type="raw" />
    </Property>
    <CustomAction Id="DIRCA_TARGETDIR_UNINSTALL" Property="TARGETDIR" Value="[PREVIOUSINSTALLFOLDER]" Execute="firstSequence" />
    <UIRef Id="Opt_WixUI_Custom" />
    <UIRef Id="WixUI_ErrorProgressText" />
    <Property Id="WIXUI_INSTALLDIR" Value="TARGETDIR" />
    <Property Id="PPLOCATION" Value="PPDIRECTORY" />
    <!-- The directory tree of the installation package. -->
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="PPDIRECTORY" />
        <!-- The "EasyBrand" project output. -->
        <Directory Id="EasyBrand.Binaries" />
        <!-- The "EasyBrand" project output. -->
        <Directory Id="EasyBrand.Satellites" />
        <Component Id="comp_4AF5F037_C105_4705_A9F3_0F7D096256F0" Guid="67264F5B-B9C6-4810-83E6-0EC45B0676B4" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <RegistryKey Root="HKLM" Key="Software[Manufacturer][ProductName]">
            <RegistryValue Type="string" Name="Installed" Value="[TARGETDIR]" KeyPath="yes" />
            <RegistryValue Type="string" Name="SlideInsertRoot" Value="[PPDIRECTORY]" />
          </RegistryKey>
          <File Id="_53CBD92F_09E1_4F8A_96B7_FDB900F64C2F" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="adxloader64.dll" Source="$(var.EasyBrand.ProjectDir)Loaderdxloader64.dll" />
          <File Id="_E8134578_B90A_442E_86E7_0382D0391F0E" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="adxloader.dll.manifest" Source="$(var.EasyBrand.ProjectDir)Loaderdxloader.dll.manifest" />
          <File Id="_DEC6A0A7_211F_4621_9892_F74040950C35" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="adxloader.dll" Source="$(var.EasyBrand.ProjectDir)Loaderdxloader.dll" />
        </Component>
        <Component Id="comp_E363D64C_D3A9_4C5B_9582_6D17D27EF401" Guid="B5337DEA-4081-4B59-A405-98475897A3BE" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_E363D64C_D3A9_4C5B_9582_6D17D27EF401" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="AddinExpress.MSO.2005.dll" Source="$(var.ADX_PATH)BinAddinExpress.MSO.2005.dll" />
        </Component>
        <Component Id="comp_63795430_8DBF_4376_8862_AA773384BC69" Guid="E5B3B25B-F45E-4B97-B1FD-8E13038CF83C" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_63795430_8DBF_4376_8862_AA773384BC69" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="AddinExpress.PP.2005.dll" Source="$(var.ADX_PATH)BinAddinExpress.PP.2005.dll" />
        </Component>
        <Component Id="comp_BA433908_4255_45F1_977A_7DEEB28EE9D5" Guid="1A574175-B5C5-4DC8-BCE8-05DF267D9791" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_BA433908_4255_45F1_977A_7DEEB28EE9D5" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="MasterSlideInserter.dll" Source="$(var.EasyBrand.TargetDir)MasterSlideInserter.dll" />
        </Component>
        <Component Id="comp_763F7F9D_3E0F_425F_AA40_C6F3BDCF8E7E" Guid="5F7A9519-3B5E-4DF6-9E3E-DBCAF36E9F5A" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_763F7F9D_3E0F_425F_AA40_C6F3BDCF8E7E" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="AddInContract.dll" Source="$(var.EasyBrand.TargetDir)AddInContract.dll" />
        </Component>
        <Component Id="comp_2C904C99_7FC9_43AE_830A_27E77C15127B" Guid="CE8A1E44-F07D-4A4B-BD10-8338915DA084" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_2C904C99_7FC9_43AE_830A_27E77C15127B" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="AddInContract.pdb" Source="$(var.EasyBrand.TargetDir)AddInContract.pdb" />
        </Component>
        <Component Id="comp_E36EE9EB_4246_445C_8260_F3D68744DC27" Guid="9FC3EBCE-6F0F-4299-85DE-97486ECA6728" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_E36EE9EB_4246_445C_8260_F3D68744DC27" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="MasterSlideInserter.pdb" Source="$(var.EasyBrand.TargetDir)MasterSlideInserter.pdb" />
        </Component>
        <Component Id="comp_9F7BCD9B_D636_49A0_827D_18CB5B237A64" Guid="DAA4A410-F299-4030-A84C-FBDED87BDBD6" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_9F7BCD9B_D636_49A0_827D_18CB5B237A64" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="Microsoft.Vbe.Interop.dll" Source="$(var.EasyBrand.TargetDir)Microsoft.Vbe.Interop.dll" />
        </Component>
        <Component Id="comp_F932BF57_B77B_4D1E_86B4_64E8EE03BF99" Guid="1B3AC6F6-859A-49EF-B6FE-C6D5E4C7D8B3" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_F932BF57_B77B_4D1E_86B4_64E8EE03BF99" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="Office.dll" Source="$(var.EasyBrand.TargetDir)Office.dll" />
        </Component>
        <Component Id="comp_B8B70B42_AC37_4E26_9829_16E38C12FA72" Guid="4D811B6E-979B-46AD-BF31-431675F4CBFC" Permanent="no" SharedDllRefCount="no" Transitive="no">
          <File Id="_B8B70B42_AC37_4E26_9829_16E38C12FA72" DiskId="1" Hidden="no" ReadOnly="no" System="no" Vital="yes" Compressed="yes" Name="stdole.dll" Source="$(var.EasyBrand.TargetDir)stdole.dll" />
        </Component>
    </Directory>
    <!-- The FileSystem group of the installation package. -->
    <ComponentGroup Id="FileSystemGroup">
      <ComponentGroupRef Id="EasyBrand.Binaries" />
      <ComponentGroupRef Id="EasyBrand.Satellites" />
      <ComponentRef Id="comp_4AF5F037_C105_4705_A9F3_0F7D096256F0" />
      <ComponentRef Id="comp_E363D64C_D3A9_4C5B_9582_6D17D27EF401" />
      <ComponentRef Id="comp_63795430_8DBF_4376_8862_AA773384BC69" />
      <ComponentRef Id="comp_BA433908_4255_45F1_977A_7DEEB28EE9D5" />
      <ComponentRef Id="comp_763F7F9D_3E0F_425F_AA40_C6F3BDCF8E7E" />
      <ComponentRef Id="comp_2C904C99_7FC9_43AE_830A_27E77C15127B" />
      <ComponentRef Id="comp_E36EE9EB_4246_445C_8260_F3D68744DC27" />
      <ComponentRef Id="comp_9F7BCD9B_D636_49A0_827D_18CB5B237A64" />
      <ComponentRef Id="comp_F932BF57_B77B_4D1E_86B4_64E8EE03BF99" />
      <ComponentRef Id="comp_B8B70B42_AC37_4E26_9829_16E38C12FA72" />
    </ComponentGroup>

    <!-- The composite feature of the installation package. -->
    <Feature Id="CompleteInstall" Title="All Files" Level="1" ConfigurableDirectory="TARGETDIR">
      <ComponentGroupRef Id="FileSystemGroup" />
    </Feature>
    <WixVariable Id="WixUIBannerBmp" Value="$(sys.CURRENTDIR)ResourcesSetup_Banner.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="$(sys.CURRENTDIR)ResourcesSetup_Background.bmp" />
    <InstallExecuteSequence>
      <Custom Action="DIRCA_TARGETDIR" Before="CostInitialize"><![CDATA[TARGETDIR=""]]></Custom>
      <Custom Action="DIRCA_TARGETDIR_UNINSTALL" After="AppSearch"><![CDATA[PREVIOUSINSTALLFOLDER]]></Custom>
      <Custom Action="_9C8E668A_0084_4800_B7E9_FD23D6D4557C" After="StartServices"><![CDATA[$comp_4AF5F037_C105_4705_A9F3_0F7D096256F0>2]]></Custom>
      <Custom Action="_26024D03_FB76_44E5_8CCB_34744AFD128D" After="_9C8E668A_0084_4800_B7E9_FD23D6D4557C"><![CDATA[$comp_4AF5F037_C105_4705_A9F3_0F7D096256F0>2]]></Custom>
      <Custom Action="_6CCB6E6C_70A5_4DB8_8EDA_8F976708A962" After="MsiUnpublishAssemblies"><![CDATA[$comp_4AF5F037_C105_4705_A9F3_0F7D096256F0=2]]></Custom>
    </InstallExecuteSequence>
    <InstallUISequence>
      <FindRelatedProducts Sequence="200" />
      <Custom Action="DIRCA_TARGETDIR" Before="CostInitialize"><![CDATA[TARGETDIR=""]]></Custom>
      <Custom Action="DIRCA_TARGETDIR_UNINSTALL" After="AppSearch"><![CDATA[PREVIOUSINSTALLFOLDER]]></Custom>
    </InstallUISequence>
    <AdminUISequence>
      <Custom Action="DIRCA_TARGETDIR" Before="CostInitialize"><![CDATA[TARGETDIR=""]]></Custom>
    </AdminUISequence>
  </Product>
</Wix>
Posted 04 Apr, 2016 02:21:08 Top
Andrei Smolin


Add-in Express team


Posts: 18817
Joined: 2006-05-11
Hello Kristian,

Modify the RegisterForAllUsers property of the add-in module as required and let Add-in Express create a new setup project for your add-in. Alternatively, you can follow the steps listed in section Deploying a per-machine Office extension via an MSI installer, see the PDF file in the folder ‎‎{Add-in Express}\Docs on your development PC‎. Note that you would need to "translate" these steps to the "language" of WiX.


Andrei Smolin
Add-in Express Team Leader
Posted 04 Apr, 2016 05:17:01 Top