Estoy usando Wix3. Necesito abrir una página web cuando el usuario desinstala el producto.
¿Alguna idea de cómo se puede hacer?Wix Abra la página web cuando finalice la desinstalación
Gracias.
Estoy usando Wix3. Necesito abrir una página web cuando el usuario desinstala el producto.
¿Alguna idea de cómo se puede hacer?Wix Abra la página web cuando finalice la desinstalación
Gracias.
Aquí hay un ejemplo del código que usamos, en realidad no establecemos la URL en tiempo de compilación, pero actualizamos las propiedades en la compilación posterior de MSI, por lo que esto podría parecer un poco "sobre ingeniería". Usamos la CA de WiXShellExec y tenemos una condición adicional para que la página web solo se muestre durante la desinstalación y no durante una actualización importante.
<Fragment>
<Property Id="MyURL"><![CDATA[http://www.blah.blah.blah/]]></Property>
<CustomAction Id="SetOpenURL" Property="WixShellExecTarget" Value="[MyURL]" />
<CustomAction Id="OpenURL" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" Return="ignore" />
<InstallExecuteSequence>
<!-- Launch webpage during full uninstall, but not upgrade -->
<Custom Action="SetOpenURL" After="InstallFinalize"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
<Custom Action="OpenURL" After="SetOpenURL"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
</InstallExecuteSequence>
</Fragment>
Añadir estos elementos XML en algún lugar bajo su elemento <Product>
:
<CustomAction Id="LaunchBrowser"
ExeCommand="explorer.exe http://www.google.com"
Directory="INSTALLDIR"
Return="asyncNoWait" >
REMOVE="ALL"
</CustomAction>
<InstallExecuteSequence>
<Custom Action="LaunchBrowser" After="InstallValidate"/>
</InstallExecuteSequence>
La condición REMOVE="ALL"
se asegurará de que se ejecute la acción personalizada sólo si el producto está siendo eliminado por completo.
El After="InstallValidate"
se asegura de que se ejecuta la acción personalizada justo después del valor REMOVE property es conocida.
Esta solución es en realidad mejor que la que fue aceptada porque funcionará con 'PushButton's. Lo único que aconsejo es poner las marcas '"' alrededor de la URL. –
Falta "Y NO ACTUALIZAR EL CÓDIGO DE PRODUCTO". – seguso
El ejemplo proporcionado por FireGiant Launch the Internet no funciona para mí, pero a inspirar a que salga mi propia solución de la siguiente manera.
La condición NO Instalado significa nueva instalación mientras Instalado significa que sólo se activan cuando desinstalación.
<CustomAction Id="LaunchBrowser" Directory="INSTALLDIR" Return="asyncNoWait" ExeCommand="explorer.exe http://www.google.com/" />
<InstallExecuteSequence>
<Custom Action="LaunchBrowser" After="InstallFinalize">Installed</Custom>
</InstallExecuteSequence>
Funcionó como el encanto, gracias! –
Durante la desinstalación completa, ¿no es Remove = "ALL"? –