星空外围权威网站

打包软件InstallShield提示和技巧:修改MSI的文件传输行为

翻译|使用教程|编辑:况鱼杰|2019-11-01 13:58:45.893|阅读 756 次

概述:现有一些用于修改默认Windows Installer(MSI)文件传输行为以进行安装和卸载的技术,但是如果使用InstallShield®进行软件安装,则可以在InstallShield环境的组件视图或安装设计视图中修改永不覆盖设置。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

    InstallShield是构建Windows安装程序和MSIX包并直接在Microsoft Visual Studio中创建安装的最快速最简单的方法。借助InstallShield,您可以快速适应行业的变化,更快地进入市场并提供引人入胜的客户体验。    

点击下载InstallShield最新试用版


修改MSI的文件传输行为

    现有一些用于修改默认Windows Installer(MSI)文件传输行为以进行安装和卸载的技术:

  • 使用永不覆盖组件设置。

  • 更改REINSTALLMODE属性。

  • 指定伴随文件关系。

  • 使用永久组件设置。

  • 使用RemoveFile表删除应用程序创建的文件。

    如果使用InstallShield®进行软件安装,则可以在InstallShield环境的组件视图或安装设计视图中修改永不覆盖设置。如果将永不覆盖组件属性设置为是,则在目标系统上已经存在其密钥文件的情况下,Windows Installer将跳过该组件的安装。如果目标系统上不存在组件的密钥文件,则Windows Installer将遵循正常的文件覆盖行为。

    您可以使用REINSTALLMODE属性来修改默认的文件覆盖行为。REINSTALLMODE属性包含一个字符串,该字符串由表示应该如何覆盖文件的一组字母组成。默认值为omus,其中o表示旧文件应被新文件覆盖,m和u表示应重新安装计算机和用户注册表数据,而s则应重新安装快捷方式。

    要修改文件覆盖行为,可以将REINSTALLMODE值中的o替换为表示所需行为的另一个字母。一些可能的值是e,以覆盖旧版本或同等版本的文件,或者a,覆盖现有文件而不检查其版本信息。

  • 注意:REINSTALLMODE值不能仅限于组件或功能,而是适用于将要安装的所有功能。

    要修改REINSTALLMODE的值,通常在部署安装时在命令行上设置该值。 由于REINSTALLMODE是公共属性,因此可以在命令行上如下修改其值:

  ;  msiexec /i product.msi REINSTALLMODE=amus REINSTALL=ALL

(REINSTALL属性包含要重新安装的功能的逗号分隔列表,或用于重新安装系统上已安装的每个功能的特殊值ALL。)

    调整文件覆盖行为的另一种技术是使用伴随文件,该文件将一个文件的覆盖行为与另一个文件的行为相关联。在运行时,如果安装了伴随文件关系的父级,则将安装子级而不考虑其与现有文件的版本关系。要建立伴随文件关系,请为子级的Version数据输入父级文件的File-table键。默认情况下,文件的File-table键显示在组件文件列表中属性的最右边(键)列中。

截图未命名.jpg

    要在子代的版本信息中输入父文件的File-table键,您可以使用文件的属性面板,在右键单击文件图标并选择属性时可以使用该面板。在属性面板中,选中替代系统版本复选框,然后在版本字段中输入所需的密钥。

属性

    同样,您可以使用直接编辑器视图在文件表记录的版本字段中输入所需的键。

    文件传输行为的另一个方面是产品的卸载程序。如果您将组件的Permanent属性设置为Yes,则在卸载组件时不会删除该组件的数据。默认情况下,卸载产品时,将删除安装所安装的所有数据。

    默认情况下,产品的卸载将仅删除原始安装所安装的文件。安装完成后,由应用程序创建的文件将不会自动删除。如果要删除应用程序创建的文件,可以将记录添加到项目的RemoveFile表中。在RemoveFile表中,您可以指定在安装或删除给定组件时要删除的其他文件。

InstallShield帮助文档:


如果您想要购买正版授权InstallShield,可以联系咨询相关问题。


关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。

1561953111.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@atlvshi.cn

文章转载自:Flexera

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP