首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallAware将原始目标目录保持在更新模式

InstallAware将原始目标目录保持在更新模式
EN

Stack Overflow用户
提问于 2012-01-04 14:14:26
回答 3查看 2.6K关注 0票数 0

我正在使用InstallAware构建一个版本,同时也支持web更新。在安装过程中,首次允许用户选择目标文件夹。系统还提供默认值。

在用户选择他的自定义文件夹而不是默认文件夹之前,一切都很正常。在更新模式下,安装程序将应用程序安装在默认目标目录中,而不是用户选择的目录中。根据InstallAware的文档,更新模式将首先卸载应用程序,然后再次安装它。因为我在静默模式下运行更新,所以安装程序将获得默认值。

如何才能将其安装在原始目标位置?

EN

回答 3

Stack Overflow用户

发布于 2012-11-23 20:34:36

幸运的是,默认情况下,InstallAware实现了非常简单的方法来实现此功能。

您可以跟踪设置"LOADOLDDATA“InstallAware预定义编译器变量的各种安装参数。

如果设置为TRUE,设置引擎将从旧版本的安装程序加载特征定义和其它保存的数据(有关IA文档中的更多详细信息,请参阅加载特征选择命令)。通常,当使用相同的已安装应用程序版本进行维护或卸载操作时,仅在相同版本的安装程序之间加载此数据。对于此编译器变量的任何其他值,此正常行为将被保留。

或者,如果您希望在设置的不同版本之间迁移参数状态,则可以在脚本代码中使用“保存功能选择”和“加载功能选择”。

希望这对你有帮助。

票数 4
EN

Stack Overflow用户

发布于 2012-03-02 16:03:47

我将在即将到来的项目中尝试使用InstallAware的网络更新;我的可行性研究的一部分包括了这份白皮书,尽管是从7.0版开始的,我假设它仍然是相关的:http://www.installaware.com/installaware_web_updates.pdf

对于你的问题,最重要的是,第14页写道:

确定更新客户端的位置

对于All Users安装,请在以下注册表项下查找: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\对于Just Me安装,请在以下注册表项下查找: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\在这两种情况下,请读取UninstallString字符串值的数据。此字符串的典型值为:"C:\Documents REMOVE=TRUE Settings\Application Data\.exe“并在应用程序中解析此字符串,以删除命令行参数REMOVE=TRUE MODIFY=FALSE以及主字符串两边的双引号。指示更新客户端(以及安装程序)位置的最后一个字符串的格式应为: C:\Documents and Settings\Application Data\.exe

您需要读取该键值,并将该值赋给MSI代码中的$TARGETDIR$ (我相信这就是名称)变量。

希望这能有所帮助。你可能还想看看他们在patching上的白皮书,因为这样可以避免下载完整的安装程序,以及只包含文件增量的补丁,从而阻止完全卸载。

票数 1
EN

Stack Overflow用户

发布于 2012-01-04 16:25:03

大多数安装程序编写工具都包含一种机制,可以检索原始安装路径并在升级期间使用它。我猜InstallAware没有,所以你得自己做:

  • 编写一个custom action,用于查找旧安装路径
  • 此自定义操作应将installation folder属性设置为该旧路径
  • 自定义操作必须在CostFinalize操作

之前运行

请注意,只有win32 DLL、VBScript和WiX工具集自定义操作可以设置安装程序属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8722760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档