/build/static/layout/Breadcrumb_cap_w.png

Admin installs, transforms and reinstalling

I would typically create an admin install of a vendor MSI and apply a transform to include all of my customizations.

Lets say that I then would need to change the contents of my transform and this would need to be applied to everyone who has the software installed.

As I understand, the general rule is that when you have made a change to your transform and you want there changes to take effect on the users workstation (including future repairs), you are required to remove the software from the users PC and then install again using the new transform.

Is there a better way of doing this? Maybe using the transform in the command line when creating the admin install?

0 Comments   [ + ] Show comments

Answers (5)

Posted by: jmcfadyen 16 years ago
5th Degree Black Belt
0
there is another way wether its better is quite debateable.

replacing the transform in the cache and forcing a repair seems to work. Whether people use this often or not is a different story. It works but I dont know if its a good thing to do or not.

general approach is uninstall reinstall or patch.
Posted by: AngelD 16 years ago
Red Belt
0
At my last project (in a 30.000 sized environment) we did use the same approach as John mentioned quite often.
Replace the cached transform and doing a reinstall (or forcing a repair) is a faster way to apply the changes rather then uninstall and install the whole application again. You wouldn't want to uninstall and install the application if it takes like 1 hour preventing the user from using their computer rather then making reinstall/repair doing its work.

We used SMS for deployment and hade a vbscript that would replace the cached transform and trigger the repair (REINSTALL=ALL REINSTALLMODE=vomus). The script would also kill any process related to the application before doing this event to prevent files inuse.
Posted by: michaelnowell 16 years ago
Second Degree Blue Belt
0
Thanks for your answers. Much appreciated.
Posted by: Cybermage 16 years ago
Orange Belt
0
Oke the posts looks clear to me, but where can i find a cached transform on the workstation? %temp% or somewhere else?
Posted by: AngelD 16 years ago
Red Belt
0
msiGetCachedTransform.vbs
Option Explicit
On Error Resume Next

Const ProductCode = "{59C9A627-5F4A-47c4-94FD-9A886F5AC971}"

Dim Installer : Set Installer = Nothing
Set Installer = CreateObject("WindowsInstaller.Installer")

If Not IsProductInstalled(ProductCode) Then Wscript.Quit

Dim ProductName : ProductName = Installer.ProductInfo(ProductCode, "InstalledProductName")
Dim InstallSource : InstallSource = Installer.ProductInfo(ProductCode, "LocalPackage")
Dim Transforms : Transforms = Installer.ProductInfo(ProductCode, "Transforms")

WScript.Echo "Product Name: " & ProductName
WScript.Echo "Cached package: " & InstallSource
WScript.Echo "Cached Transforms: " & Transforms

Set Installer = Nothing
Wscript.Quit(0)

Function IsProductInstalled(ProductCode)
IsProductInstalled = False

Dim ProductState : ProductState = Installer.ProductState(ProductCode)
If ProductState <> 5 Then
Wscript.Echo "Product not installed (ProductState return: " & ProductState & ")"
Wscript.Echo "Please check the ProductCode"

Exit Function
End If

IsProductInstalled = True
End Function
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ