gpt4 book ai didi

Wix Bootstrap 卸载快捷方式

转载 作者:行者123 更新时间:2023-12-01 06:40:38 24 4
gpt4 key购买 nike

我正在尝试创建快捷方式来卸载 bootstrap 已安装的任何内容。
因此,我只想在添加和删除程序时执行与卸载相同的操作。

我发现 de bootstrapper 安装在 package cache{guid}[bootstrappername].exe 中

它安装的其中一个 msi 软件包还安装了此 bootstrap /uninstall 调用的快捷方式。
然而问题是在每次构建时都会重新生成包的 GUID。所以我必须如何将其设置为
一个 msi 属性。
但我不知道如何做到这一点,在我看来,GUID 在构建过程中是未知的,而只有在构建完成后才知道?

有没有另一种方法来确定缓存 bootstrap 的位置?

最佳答案

如果您使用的是托管 BA,则可以尝试以下操作:

在你的 Bundle.wxs 与 MsiPackage 链中添加 MsiProperty,如:
<MsiPackage SourceFile="Setup.msi">
<MsiProperty Name="UNINSTALLER_PATH" Value="[UNINSTALLER_PATH]"/>
</MsiPackage>

在代码中的某处(在调用安装操作之前),您需要为这个变量设置值,如下所示: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) – %systemdir%:\ProgramData 的路径

Package Cache - ProgramData 中安装包缓存的文件夹名称

Engine.StringVariables["WixBundleProviderKey"] – 由缓存包创建的文件夹名称 (guid)

ProductName – bootstrap “exe”的名称

最后在你的 Product.wxs 中你可以创建快捷方式,但是在“Target”属性中你需要传递 UNINSTALLER_PATH 值和“Arguments”设置=“/卸载”:
<Shortcut Id="Shortcut1" Name="Uninstall" Description="Uninstall" Target="[UNINSTALLER_PATH]" Arguments="/uninstall" WorkingDirectory="Programmenufolder" />
对不起我的英语不好 :)

关于Wix Bootstrap 卸载快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com