WiX:更新“添加/删除程序”中显示的版本号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WiX:更新“添加/删除程序”中显示的版本号相关的知识,希望对你有一定的参考价值。
我使用WyUpdate自动提供程序更新,以便我的客户始终运行最新版本。但是,此方法的一个问题是在更新期间不会调用MSI安装程序(使用WiX 3.5创建),因此添加/删除程序中的版本号不会增加。
我的问题是,是否有一些安全的方法以编程方式突破显示的版本?(WyUpdate能够在更新期间执行自定义代码并更改注册表值)。
只需将“DisplayVersion”值更改为最新版本即可。
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallYourAppName
另外,为了节省时间,在wyBuild中你可以使用use the %version% variable,你创建的每个新版本都将使用正确的版本(而不是每次发布新版本时都必须输入它)。
关于严说什么......
但我认为这不是一个好主意。修改您不欠的注册表项,并将自己的逻辑注入Windows Installer可能会导致意外后果。我个人永远不会这样做。迟早会发射......
这是完全错误的。编辑注册表值不会更改安装程序逻辑。它根本不危险。最终用户仍然可以修复原始安装(将注册表和所有文件还原为原始版本),并且可以运行卸载程序,它将删除注册表和文件(尽管它们已被更改)。
如果不希望“msi修复”恢复到原始安装(而不是应用程序的更新版本),那么您需要向用户和execute it as part of your update提供* .msp或* .msi。
简短的回答:编辑注册表既不邪恶也不安全,只要你明白什么是什么。
从技术上讲,您可以在系统注册表中找到读取版本的密钥(通常在SOFTWARE / Microsoft / Windows / CurrentVersion / Uninstall下),并强制您的更新软件每次使用正确的版本修改此值。
但我认为这不是一个好主意。修改您不欠的注册表项,并将自己的逻辑注入Windows Installer可能会导致意外后果。我个人永远不会这样做。迟早会发射......
顺便说一句,如果您不依赖Windows Installer更新,为什么更新ARP版本更重要?例如,在您的应用程序中有一个众所周知的位置,用户可以在其中查找当前版本。
以上是关于WiX:更新“添加/删除程序”中显示的版本号的主要内容,如果未能解决你的问题,请参考以下文章