I am allready working a day or so on this probem and fail to figure it out.
So I have a .Net setup project with bootstrap setup.exe that I would like to "force reinstall" from command line I see in the command line parameters that there is a switch for that:
Windows ® Installer. V 5.0.7601.17514
msiexec /Option <Required Parameter> [Optional Parameter]
Repair Options
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
Repairs a product
p - only if file is missing
o - if file is missing or an older version is installed (default)
e - if file is missing or an equal or older version is installed
d - if file is missing or a different version is installed
c - if file is missing or checksum does not match the calculated value
a - forces all files to be reinstalled
u - all required user-specific registry entries (default)
m - all required computer-specific registry entries (default)
s - all existing shortcuts (default)
v - runs from source and recaches local package
now if I run the setup.exe as:
setup.exe /fa setupdll.msi it does not whant to work or any other subswicth under the /f tree
Is there anyone that can help with this?
EDIT1: This is working if I run it from the command line:
%windir%\system32\msiexec /fa setupdll.msi
The problem is it dones not do exactly the same as if I run the setup with the gui
The gui repair does the following:
The commmand line aproach does the following:
Any idea why?
Ok I know this is a hack aproach on everything but my use case is kinda specific and in case someone whanna do the same here is the why and how:
Synopsis: I have a c$ dll as com object to use it in another programming language and I created this setup to register the dll in the gac.
The problem is when I changed the dll and even if I put the new Product code and new version of the setup proejct and new version of the dll itself it did not get updated by the Visual studio setup project.
If I just do a repair with /ra it does not work if no version of the product is yet installed
My workaround / hack
Uninsatll the product by the /x setupdll.msi /passive
Install the new version
Well I know it is very specific problem so I don't there is much use for this but combining some stuff ends up with wierd solutions :(
Anyway in case anyone has the same problem.