How to apply a Msi transform at uninstall?

I'm trying to fix a Windows Installer based setup that is already released. The fix is for an error that occurs when uninstalling the package. For this I'd like to provide a .mst transform file that is applied before uninstalling. Is it possible to use a transform after the product was installed? Or can the transform be applied to an already installed .msi file before the uninstall is started? The command line I used was like this:

msiexec.exe /x {Product-Code} TRANSFORMS={Path-To}\bugfix.mst


Transforms are only applied at first-install, or internally as part of a patch. To fix problems like this, you should consider applying a minor upgrade (although if size is a major concern, you should be able to package the minor upgrade as a patch). Be sure to pass v as part of the REINSTALLMODE property so that the new package replaces the old one; generally vomus is a good value for that property.

You can apply a transform after the fact by editing the the HKEY_CLASSES_ROOT\Installer\Products entry for your app.

find your product, add a value called TRANSFORMS and point it to your new transform. Then when the uninstall is kicked off, it will use that transform.

Okay. I know this is an old post. But here's something in addition to the above.

Vividos was slightly in luck that bug fix can be applied to an MSI, using REINSTALLMODE=VOMUS wherein the existing cache MSI is 're-cached' with the new installer.

But the 'v' fails if the bug is in the transform applied during MSI installation. The 'v' recaches the MSI but not the transform applied to it.

In such a case the user will have to manually recache the MST from "C:\windows\installer[ProductCodeOfTheMsi]" (using VBScript or other). You will find the old MST here and your BUFIX.MST should have the same name as the old MST in the above location and replace it.

If you want to go through the registry route as how Brian mentioned; change the MST name to your new MST Name with its location.

Category:windows installer Time:2009-09-30 Views:0

Related post

  • How do I apply a colour transformation matrix to a texture in OpenGL 2009-05-20

    Basically, I've got a colour matrix defined as such: struct ColourXForm { float4 mul; float4 add; float4 Transform(float4 colour) { return float4( colour.x * mul.x + add.x, colour.y * mul.y + add.y, colour.z * mul.z + add.z, colour.w * mul.w + add.w)

  • Apply an affine transformation to view in Interface Builder 2010-09-24

    Is it possible to apply an affine transformation to a view directly in Interface Builder? I know I can attach an outlet and assign it to the transform in code, but I'd like the convenience of visually tweaking the transform in Interface Builder. ----

  • Is it possible to apply an XSLT transform to a DOM element? 2011-08-27

    I have a webpage that has many user-generated elements that need to be "cleaned" and I'd like the cleanup to be expressed as an XSLT transform because it suits the purpose quite well. Is there a way to apply an XSLT transform to part of a webpage? (A

  • What's the best way to apply an XSL transform to an XElement? 2011-09-12

    I have a document loaded via XElement.Parse() and I need to apply a XSL transform to it. How would I go about doing this? The only way I know to do is with XPathDocument and I know no way to convert between the two other than XElement->String->

  • Is there a way to apply a sed transformation to a vim buffer before copying it to the clipboard? 2011-09-13

    I'm using the following command to copy all lines of text in a document to the system clipboard: %y+ Usually, especially in order to copy code to StackOverflow ;), I apply a sed transformation to my buffer in order to make it easier to paste in with

  • Programmatically apply an XSL transform outside the browser 2011-09-30

    I have XML data which I want to be able to display in a browser through an XSL Transform, and also compile with XeLaTeX. Inside the XML file, I have set the stylesheet to be the one for the browser, and currently, to get LaTeX output I have to go int

  • MSI Transform - modify registry value 2011-11-25

    I have a setup project in Visual Studio 2010 that needs to be modified in the post-build event to change a registry value. I can create a MSI transform to do that, but when I run it through msitran after the build, it fails because the Registry table

  • How to apply two different transformations on one web.config element? 2012-01-20

    From my VS2010 deployment project I would like to apply two different transformations to two different attributes of one element in my web.config. Consider the following web.config snippet: <exampleElement attr1="false" attr2="false" attr3="true"

  • Applying a perspective transform to a MKMapView 2012-02-06

    I am trying to apply a perspective transformation to an MKMapView. I am following the example of this Stackoverflow question, so my code looks like this (inserted into the view controller's viewDidLoad method): MKMapView *map = [[MKMapView alloc] ini

  • How do I apply a perspective transform to a UIView? 2008-12-07

    I'm looking to perform a perspective transform on a UIView (such as seen in coverflow) Does anyonew know if this is possible? I've investigated using CALayer and have run through all the pragmatic programmer Core Animation podcasts, but I'm still no

  • MSBuild Script and VS2010 publish apply Web.config Transform 2010-05-25

    So, I have VS 2010 installed and am in the process of modifying my MSBuild script for our TeamCity build integration. Everything is working great with one exception. How can I tell MSBuild that I want to apply the Web.conifg transform files that I've

  • How to apply an mpl::transform to an mpl::string? 2010-06-11

    I'm trying to apply a transformation to an mpl::string, but can't get it to compile. I'm using MS VC++2010 and Boost 1.43.0. The code: #include <boost/mpl/string.hpp> #include <boost/mpl/vector_c.hpp> #include <boost/mpl/transform.hpp

  • Apply arbitrary geometric transforms to a JPanel 2010-07-04

    I have some Swing controls in a JPanel. I want this panel to appear on the screen transformed by some arbitrary affine transformation, and for all the controls to remain interactive. Lets assume a rotation by 20 degrees and a scale down to 75% normal

  • Wix / MSI : Unable to uninstall 2010-08-18

    I've developed a Wix installer for an internal project however entirely by accident I've found that I'm unable to uninstall the installer on my development machine as I get the following error message: The feature you are trying to use is on a networ

  • Applying Web.Config transformations outside of Web Deployment 2011-06-22

    Is there a way to apply VS 2010 Web.Config transformations outside of web deployment, say during debugging? It would give me a great boost to be able to freely switch between different environments. --------------Solutions------------- Yes, you can p

  • How to apply an XSLT transformation that includes spaces to an XML doc using tDOM? 2011-10-26

    I have some XML of the form: <definitions devices="myDevice"> <reg offset="0x0000" mnem="someRegister"> <field mnem="someField" msb="31" lsb="24 /> ... </reg> ... </definitions> I want the XML to be the definitive refere

  • remove user.config during uninstall in a MSI admin install/uninstall using Group Policy object (GPO) 2011-12-13

    We have a user.config file that is created in C:\Users\ [User] \AppData\Local[Company][Project Name].vshos_Url_zw3i045fzlcuakzzn3dtaw3fqgh03sub\\ directory and would like to remove the user.config file so that we can leave the clients computer

  • Deploying .Net Compact Framework applications in windows mobile via msi file without uninstalling and reinstalling inbetween 2011-12-15

    I was able to generate a MSI file via a visual studio 2008 project which will install a cab file to windows mobile via activesync(CeapMgr). I used this as a reference : The installation works as I

  • applying Microsoft configuration transformations from a command line? 2012-01-11

    From this article I see I can use msbuild to apply configuration transformations but is there another way using either a command line program or.Net API? Update: I found an answer:

Copyright (C), All Rights Reserved.

processed in 0.662 (s). 13 q(s)