cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4931
Views
0
Helpful
10
Replies

Group Policy Deployment for MSI

Daryl Clark
Level 1
Level 1

I am looking for some assistance from anyone who has successfully deployed Proximity via Group Policy. I did see an older form that discussed setting some flags on a batch file, but this only works if the user has installation rights. I am looking to complete the deployment via the Group Policy native MSI installation ability (Similar to Jabber).

4 Accepted Solutions

Accepted Solutions

mneergaa
Cisco Employee
Cisco Employee

If you want to install per-user and can't supply MSI properties to the installing process in any way, you can use MSI transforms. This is a somewhat horrible process. If you have control over the installer command line, you can do a per-user install with progress indicator using e.g.

msiexec /qb! /i Proximity.msi ALLUSERS=2 MSIINSTALLPERUSER=1

In order to do this using MSI transforms you need to install orca (orca.msi bundles with the Windows SDKs) and open Proximity.msi, edit the ALLUSERS and MSIINSTALLPERUSER properties, and save again.

If you want to do this, I have made a transform file with the edited properties. HOWTO:

  1. Open Proximity.msi in Orca
  2. To to the options screen -> Database, and check "Copy embedded streams [...]" (see screenshot in attached archive)
  3. Apply the transform (in attached archive)
  4. Use "Save Transformed As..." to save the new file.

This new file will install as the installing user even when installing without a GUI.

So to summarize, MSI is hard to work with for both developers and end users. If you find a simpler solution without moving to a more powerful tool than GPO, we'd really love to hear it!

View solution in original post

I edited it afterwards after seeing the same was possible without saving a modified copy - just applying the transform on the fly using a GPO "modification"

View solution in original post

Daryl Clark
Level 1
Level 1

For anyone else looking into this. It appears that 2.0.1.0 (version as of 8/5/2016) fixed the MSI install issue. This is how we were able to silently install for multiple users via Group Policy:

NOTE: You should be familiar with deploying MSIs via GPO before attempting this as I am not going to explain how to configure software deployment shares and file permissions here.

1. Downloaded the 2.0.1.0 MSI from the Proximity website.

2. Optional: Rename it to Proximity2-0-1-0.msi for version tracking within GPO deployment share.

3. Create or edit existing software deployment GPO.

4. Add Proximity install under: Computer Configuration -> Policies -> Software Settings -> Software Installation. Right click -> New -> Package. Select the Proximity2-0-1-0.msi (or whatever you named it) from your GPO deployment share. Select Assigned when prompted. I named my install "Proximity 2.0.1.0" again for version tracking within GPO.

5. Add Registry Keys to prevent EULA and First Run Wizard from popping up:

6. In the same GPO, browse to Computer Configuration -> Preferences -> Windows Settings -> Registry

7. Add the following 3 entries. We use Replace and check off "Remove this tiem when it is no longer applied" so we can easily remove registry keys if needed:

1. HKLM\SOFTWARE\Cisco\Proximity\EulaAccepted = true

2. HKLM\SOFTWARE\Cisco\Proximity\FirstTimeExperienceCompleted = true

3. HKLM\SOFTWARE\Cisco\Proximity\UpgradeChannel = Stable

NOTE:

Hive: HKEY_LOCAL_MACHINE

Key Path: SOFTWARE\Cisco\Proximity

Value name: The 3 entries above

Value type: REG_SZ

Value data: The 3 entries above

8. Save and exit out of GPO, apply to computers you want Proximity installed on.

View solution in original post

mneergaa
Cisco Employee
Cisco Employee

We have made improvements to our msi packaging, and mass deployment should now be easier. Please check the guide at https://supportforums.cisco.com/t5/mobile-applications-documents/windows-mass-deployment-guide-new-as-of-version-2-0-8/ta-p/3314009

View solution in original post

10 Replies 10

mneergaa
Cisco Employee
Cisco Employee

If you want to install per-user and can't supply MSI properties to the installing process in any way, you can use MSI transforms. This is a somewhat horrible process. If you have control over the installer command line, you can do a per-user install with progress indicator using e.g.

msiexec /qb! /i Proximity.msi ALLUSERS=2 MSIINSTALLPERUSER=1

In order to do this using MSI transforms you need to install orca (orca.msi bundles with the Windows SDKs) and open Proximity.msi, edit the ALLUSERS and MSIINSTALLPERUSER properties, and save again.

If you want to do this, I have made a transform file with the edited properties. HOWTO:

  1. Open Proximity.msi in Orca
  2. To to the options screen -> Database, and check "Copy embedded streams [...]" (see screenshot in attached archive)
  3. Apply the transform (in attached archive)
  4. Use "Save Transformed As..." to save the new file.

This new file will install as the installing user even when installing without a GUI.

So to summarize, MSI is hard to work with for both developers and end users. If you find a simpler solution without moving to a more powerful tool than GPO, we'd really love to hear it!

Did you apply this to the computer or the user for software installation? I just tested in both after following the above instructions and it did not install under either.

Have you tried running msiexec /i Proximity.msi on the modified .msi? Is the file size the same as before?

Also attaching zipped copy of my modified Proximity.msi for reference. I do not have a domain available or the experience needed for testing provisioning this msi using a GPO, I have just tested that it installs correctly with no prompts with the msiexec equivalent of what the GPO should do.

I also just noticed that GPO software deployment supports adding transforms as "Modifications" ... Maybe adding the mst as described in https://technet.microsoft.com/en-us/library/cc779244(v=ws.10).aspx works better?

Edit:

From what I gather it should be roughly equivalent to

msiexec /qb /i Proximity.msi TRANSFORMS=proximity-per-user-administrative-install.mst

Did the transform work for you? If so, I'll edit the first answer to reflect that in case anyone else has the same issue.

There was no attachment in your last post with your modified Proximity.msi.

I edited it afterwards after seeing the same was possible without saving a modified copy - just applying the transform on the fly using a GPO "modification"

So I used your modification with the msi from Cisco. Deployed via GPO under Computer Settings -> Software Deployment. I applied the modification in GPO rather than through ORCA and we have success! Thank you!

Also, it looks like 2.0.1.0 was just released. I attempted to re-create the MST for the new version and it dose not install. Did you make any other changes in the MST besides adding MSIINSTALLPERUSER=1 and ALLUSERS=2 in the Property section?

Daryl Clark
Level 1
Level 1

For anyone else looking into this. It appears that 2.0.1.0 (version as of 8/5/2016) fixed the MSI install issue. This is how we were able to silently install for multiple users via Group Policy:

NOTE: You should be familiar with deploying MSIs via GPO before attempting this as I am not going to explain how to configure software deployment shares and file permissions here.

1. Downloaded the 2.0.1.0 MSI from the Proximity website.

2. Optional: Rename it to Proximity2-0-1-0.msi for version tracking within GPO deployment share.

3. Create or edit existing software deployment GPO.

4. Add Proximity install under: Computer Configuration -> Policies -> Software Settings -> Software Installation. Right click -> New -> Package. Select the Proximity2-0-1-0.msi (or whatever you named it) from your GPO deployment share. Select Assigned when prompted. I named my install "Proximity 2.0.1.0" again for version tracking within GPO.

5. Add Registry Keys to prevent EULA and First Run Wizard from popping up:

6. In the same GPO, browse to Computer Configuration -> Preferences -> Windows Settings -> Registry

7. Add the following 3 entries. We use Replace and check off "Remove this tiem when it is no longer applied" so we can easily remove registry keys if needed:

1. HKLM\SOFTWARE\Cisco\Proximity\EulaAccepted = true

2. HKLM\SOFTWARE\Cisco\Proximity\FirstTimeExperienceCompleted = true

3. HKLM\SOFTWARE\Cisco\Proximity\UpgradeChannel = Stable

NOTE:

Hive: HKEY_LOCAL_MACHINE

Key Path: SOFTWARE\Cisco\Proximity

Value name: The 3 entries above

Value type: REG_SZ

Value data: The 3 entries above

8. Save and exit out of GPO, apply to computers you want Proximity installed on.

mneergaa
Cisco Employee
Cisco Employee

We have made improvements to our msi packaging, and mass deployment should now be easier. Please check the guide at https://supportforums.cisco.com/t5/mobile-applications-documents/windows-mass-deployment-guide-new-as-of-version-2-0-8/ta-p/3314009

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: