If you are using Managed BA, you can try the following:
In your bundle.wxs in the chain with MsiPackage add MsiProperty as:
<MsiPackage SourceFile="Setup.msi"> <MsiProperty Name="UNINSTALLER_PATH" Value="[UNINSTALLER_PATH]"/> </MsiPackage>
Somewhere in the code (before invoking the installation installation) you need to set the value for this variable as follows: Engine.StringVariables["UNINSTALLER_PATH"] = string.Format(@"{0}\{1}\{2}\{3}.exe", Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Package Cache", Engine.StringVariables["WixBundleProviderKey"], ProductName);
Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData) - path to% systemdir%: \ ProgramData p>
Package Cache - the name of the folder in ProgramData, where the installation of package caching
Engine.StringVariables ["WixBundleProviderKey"] - name of the folder (guid) created by caching the package
ProductName is the name of your loader "exe"
And finally, in your Product.wxs you can create a shortcut in the usual way, but in the "Target" attribute you need to pass the value UNINSTALLER_PATH and "Arguments" set = "/ uninstall":
<Shortcut Id="Shortcut1" Name="Uninstall" Description="Uninstall" Target="[UNINSTALLER_PATH]" Arguments="/uninstall" WorkingDirectory="Programmenufolder" />
sorry for my English:)
source share