开发者

msi reinstall windows7 issue

I have 2 versions of product "product1" (1.2.2.2 and 1.2.2.3).

For both upgrade/downgrade, product1 is using "reinstall=all reinstallmode=vamus" MSI parameters so the always new files will be in installation directory.

If i do upgrade from 1.2.2.2 to 1.2.2.3 , not all new files are coping to installation directory. I am facing this problem only on windows 7 (both x86 and x64). No issues with XP (both x86 and x64).

I compared logs on xp and win7. I found following difference.

XP: SetSourceFolder(Folder=1\PROGRA~1\company~1\product~1\drivers\|program files\companyname\productname\drivers)

win7: Executing op: SetSourceFolder(Folder=C:\Windows\Installer\$PatchCache$\Managed\A7C0B53D545489A48A0183013BEF525E\1.2.2)

It is my setup. Our product supports both upgrades and downgrades. To make as simple as possible for clients, we choose "REINSTALL=All REINSTALLMODE=vamus" , so that these options supports for both upgrade and downgrade. Another important point is, this MSI doesn't have separate upgrade or downhrade information. MSI had p开发者_如何学Clane components. All the components inside MSI are signed. Version information also embedded. My questions are 1) does windows installer behavior changed on win7? 2) does installer takes only a.b.c as version information? will it ignore after that?

Another important point is, this MSI doesn't have separate upgrade or downhrade information. MSI had plane components. "REINSTALL=All REINSTALLMODE=vamus" parameters ensures that always running msi version components goes to install directory. So far this method works for almost 5 years. Only win7 had problem.

To reproduce this problem... 1) install 1.2.2.2 by msiexec /i 1.2.2.2.msi 2) downgrade to 1.2.2.1 had no issues msiexec /i 1.2.2.1.msi REINSTALL=ALL REINSTALLMODE=vamus 3) upgrade to 1.2.2.2 causes problem msiexec /i 1.2.2.2.msi REINSTALL=ALL REINSTALLMODE=vamus 4) retry to upgrade again to 1.2.2.2 . This time no issues.

Another observation is, one of the component in MSI say "comp1" had 2 files say file1, file2. File1 is keypath to the component comp1. at the time of problem comes (step 3), file1 is not getting updated. But file2 is updating properly.

another observation. I ran above test on different different versions.

--> upgrade/downgrade between 1.2.1.1 and 1.2.2.1 working as expected --> upgrade/downgrade between 1.2.1.1 and 1.2.1.2 is not working as expected --> upgrade/downgrade between 1.2.2.1 and 1.2.2.2 is not working as expected

as mentioned above windows installer is considering version up to a.b.c. Upgrade/downgrade between a.b.c.x and a.b.c.y is causing problem on windows-7


Only 3 first digit parts are valuable, so MSI didn't make difference between 1.2.2.2 and 1.2.2.3


Are all the files properly listed in the File table with version and date information? Did the version numbers increment and dates get later in the upgrade package?

File versioning is critical to Windows Installer functionality; by default, a file with no version info is considered "user data" that shouldn't be overwritten during a reinstall or upgrade. Thus, upgrades are easiest--and don't require special command-line options--if they are replacing the files with higher version numbers or newer dates.


The correct parameters are:

REINSTALL="ALL" REINSTALLMODE="vamus"

Properties are case sensitive and their values must be enclosed in quotes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜