Announcement

Collapse
No announcement yet.

Having trouble getting software update to update component

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Having trouble getting software update to update component

    I have an installer that installs an EXE (pproclient.exe) to a subdirectory in Program Files. This installer was Product Version 2.00. I now have a new EXE I want to install over it in Product Version 2.01 of my installer. I have kept the Product Code and Upgrade code the same but have updated the version number in the project settings. My bootstrap lua script runs the MSI with /norestart /qn REINSTALL=ALL REINSTALLMODE=vomus. However after the installer runs, I find that the EXE was not updated with the new one. If I check the MSI log, I see this:

    MSI (s) (64:7C) [16:31:44:766]: File: C:\Program Files (x86)\ProducePro\PProClient\pproclient.exe; Won't Overwrite; Won't patch; Existing file is of an equal version

    Shouldn't the MSI command line options that I am using, force the pproclient.exe file to be replaced with the new version? What do I need to do to make sure that the new pproclient.exe will get installed over the old one? Thanks.
    Attached Files

  • #2
    From what I understand from the log file, the file version of pproclient.exe was not changed from one build to another. Windows Installer checks the resources of the file, in order to determine if a file should be replaced. You have built both releases apparently as version 0.67.0.0, so Windows Installer is skipping the file. Try increasing the version number on each build, and you should see that the file is replaced.

    If you wish to override the default versioning behavior, instead of changing the resources of the file (which I think is the better solution), you could include an "a" in the REINSTALLMODE parameter.

    You can find some explanations regarding the file overwrite rules used in Windows Installer here:
    http://blogs.msdn.com/b/astebner/arc...30/458295.aspx

    And in the official documentation:
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    Ulrich

    Comment


    • #3
      Thanks Ulrich. I opened my .msifact file with Notepad and can't find 0.67.0.0 specified anywhere in my project. Where is that number coming from and how do I change it? Also, were you saying that using REINSTALLMODE with "a" parameter was the better solution?
      Attached Files

      Comment


      • #4
        Hello, from the log file you initially attached I understand that the file "pproclient.exe" is versioned. The number is stored in the resources of the file. So, what I am saying is, if the executable was changed, the version number should reflect the update and not stay the same for different releases - there should be an increase of at least the minor build version number. In this manner, if you are installing a newer version (a higher version number), Windows Installer will not skip the deployment. I think that this is the better approach, while using the "a" option would ignore the version check and which I would use it only as a last resort...

        Ulrich

        Comment


        • #5
          Ah, so I need to change the version of the exe in Visual Studio and compile it again. That really helps, thank you!

          Comment

          Working...
          X