在卸载升级产品期间,将参考旧版本的msi文件进行卸载 [英] During uninstalling upgraded product is refering the old build msi file for uninstallation

查看:163
本文介绍了在卸载升级产品期间,将参考旧版本的msi文件进行卸载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用InstallShield X-专业版10.0版

I am using InstallShield X - professional Edition, version 10.0

我已经通过installshield Basic MSI项目创建了.exe文件并将其安装.在安装过程中,它将.msi文件解压缩到以下位置:C:\ Windows \ Downloaded Installations {FF12DD ....} *.msi

I have created .exe file through installshield Basic MSI project and installsed it. During installation it extract the .msi file at location: C:\Windows\Downloaded Installations{FF12DD....}*.msi

此后,我创建了另一个具有更新版本的产品,并将其安装在较旧的产品上.最新的产品已成功安装.当我尝试将其卸载时进行更新后,更新的产品正在使用较旧的build .msi文件.我在这里想要的是它应该使用最新版本的.msi文件.因为我在最新产品的installScript中做了一些更改,这些更改应该在卸载期间执行.

After that I have created another product with updated version and install it over the older product. The latest ptoduct got installed successfully. After updating when I am trying to uninstall it, The updated product is using the older build .msi file. What I want here is it should use the latest build .msi file. Because I have made some changes in installScript of latest product which should get execute during un-installation.

在更新的产品中,我只是更新产品版本号,而不是产品代码.我不想修改产品代码.

In the updated product I am just updating product version number and not Product code. I don't want to modify the product code.

谢谢

Sameer K

推荐答案

您需要阅读有关重大升级以及Windows Installer的一些基础知识的信息.本质上,我认为您应该尝试实施重大升级,它确实涉及更改产品代码.

You need to read up on major upgrades and perhaps on some of the basics of Windows Installer. Essentially I think you should try to implement a major upgrade, it does involve changing the product code.

不要害怕更改产品代码.是升级代码,用于标识产品的相关版本.产品代码在版本之间改变.本质上,您编写升级表以检测产品的其他版本,更新MSI的版本号(前三位数),并且每次重新构建MSI时,软件包代码都应始终更改.最后,您必须在各个发行版中保持升级代码相同,以使主要更新易于实现.

Don't be afraid to change the product code. It is the upgrade code that identify related versions of a product. The product code changes between versions. Essentially you author the upgrade table to detect other versions of your product, you update the version number of the MSI(first three digits count), and the package code should always change for every rebuild of the MSI. Finally you must keep the upgrade code the same across releases to make major updates easy to implement.

Installshield 可以避免很多复杂性. 阅读此处提供的信息,您应该可以继续.

Installshield shields a lot of the complexity of this if you author the information found in the Upgrades view. Read the information provided here and you should be able to proceed.

有关MSI中这些重要代码的更多信息.即使您使用Installshield的简化GUI,您也必须了解这一点:

Some further information on these important codes in an MSI. You must understand this even if you use Installshield's simplified GUI:

在每次重新构建MSI时,您都必须更改程序包代码.此代码永远不会在整个MSI设计中公开-它用于唯一地标识文件.如果您在多个文件中都使用相同的指南,则每个文件都会被定义为同一文件(定义),即使它们是不同的文件也是如此.这可能会导致您遇到MSI遇到的最神秘的问题.在每种情况下,多次使用相同的程序包代码都是错误的-除非您想进行黑客攻击:-).

In every single rebuild of the MSI you MUST change the package code. This code should never have been exposed in the whole MSI design - it is used to uniquely identify a file. If you keep this guid the same across multiple files each file will be treated as the same file by definition - even if they are different files. This may cause the most mysterious problems you ever come across with MSI. Using the same package code several times is wrong in every case - unless you want to do hacking :-).

  • 打包代码:标识唯一的MSI文件
  • 产品代码:标识产品版本
  • 升级代码:标识产品系列
  • Package code: identifies unique MSI file
  • Product code: identifies product version
  • Upgrade code: identifies product family

这篇关于在卸载升级产品期间,将参考旧版本的msi文件进行卸载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆