Failure when patching single file

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jlsf2
    Forum Member
    • May 2007
    • 101

    Failure when patching single file

    I have 3 versions in my patch.

    I introduced a file into the build in version 2. It was included in a directory reference (was not a key file).

    The only difference between version 2 and version 3 is an update to this new file.

    So, I've explicitly added this file to my version 3 patch and made it a key file.

    During the patch, there is an error and the patch .exe just exits (no failure message window).

    I'm attaching the log file below. Any ideas on what is going on?

    Thanks.


    [09/28/2007 12:11:15] Success Patch started: C:\work\Tournabout\Novint\Installer\Game Patches\patch.FalconTutorial.v1.1.0.b_070928.exe
    [09/28/2007 12:11:15] Notice Patch engine version: 3.0.1.0
    [09/28/2007 12:11:15] Notice Product: Falcon Tutorial
    [09/28/2007 12:11:15] Success Language set: Primary = 9, Secondary = 1
    [09/28/2007 12:11:15] Success Include script: _Global_Functions.lua
    [09/28/2007 12:11:15] Success Include script: GlobalFunctions.lua
    [09/28/2007 12:11:15] Notice Start project event: Global Functions
    [09/28/2007 12:11:15] Success Run project event: Global Functions
    [09/28/2007 12:11:15] Notice Start project event: On Startup
    [09/28/2007 12:11:16] Success Located installed version 070912: C:\Program Files\Novint\Games\Falcon Tutorial
    [09/28/2007 12:11:16] Success Run project event: On Startup
    [09/28/2007 12:11:16] Success Display screen: Ready to Patch
    [09/28/2007 12:11:17] Notice Start project event: On Pre Patch
    [09/28/2007 12:11:17] Success Run project event: On Pre Patch
    [09/28/2007 12:11:17] Success Display screen: One Progress Bar (While Patching)
    [09/28/2007 12:11:17] Success Free space check on drive: C:\
    [09/28/2007 12:11:17] Success Backup file: C:\Program Files\Novint\Games\Falcon Tutorial\config.FalconTutorial.exe -> C:\Program Files\Novint\Games\Falcon Tutorial\Backup\config.FalconTutorial.exe.bak
    [09/28/2007 12:11:17] Success Patch file: C:\Program Files\Novint\Games\Falcon Tutorial\config.FalconTutorial.exe
    [09/28/2007 12:11:17] Warning Backup file failed: (2) C:\Program Files\Novint\Games\Falcon Tutorial\*.* -> C:\Program Files\Novint\Games\Falcon Tutorial\Backup\*.*.bak (2001)
    [09/28/2007 12:11:17] Success File rollback C:\Program Files\Novint\Games\Falcon Tutorial\Backup\config.FalconTutorial.exe.bak -> C:\Program Files\Novint\Games\Falcon Tutorial\config.FalconTutorial.exe
    [09/28/2007 12:11:17] Success Delete image file: C:\DOCUME~1\JEREMY~1\LOCALS~1\Temp\_ir_vp2_temp_1\ IRIMG1.JPG
    [09/28/2007 12:11:17] Success Delete image file: C:\DOCUME~1\JEREMY~1\LOCALS~1\Temp\_ir_vp2_temp_1\ IRIMG2.JPG
    [09/28/2007 12:11:17] Success Delete image file: C:\DOCUME~1\JEREMY~1\LOCALS~1\Temp\_ir_vp2_temp_1\ IRIMG3.JPG
    [09/28/2007 12:11:17] Success Delete image file: C:\DOCUME~1\JEREMY~1\LOCALS~1\Temp\_ir_vp2_temp_1\ IRIMG1.BMP
    [09/28/2007 12:11:17] Notice Exit patch process (Return code: 2)
  • Lorne
    Indigo Rose Staff Member
    • Feb 2001
    • 2729

    #2
    Is this a project that was started in an earlier version of Visual Patch?

    If so, could you try starting a project from scratch in version 3.0.1.0 and see if it still happens?

    Unfortunately it's hard to tell what's wrong from the log file. Would it be possible for you to send the project to our support department?

    (BTW, I still have my copy of F4.0 at home, in the big ring binder... )
    Last edited by Lorne; 09-28-2007, 02:05 PM.
    --[[ Indigo Rose Software Developer ]]

    Comment

    • jlsf2
      Forum Member
      • May 2007
      • 101

      #3
      Yeah, I can send the file, and yes, this was a v2 project that I've migrated to v3. What address should I send it to? What reference #?

      I'll see if I can start a new one from scratch (little painful to find all the settings I have).

      F4.0... I'm confused...

      Thanks.

      Comment

      • jlsf2
        Forum Member
        • May 2007
        • 101

        #4
        I created a new v3 project from scratch - same exact problem.

        Comment

        • Lorne
          Indigo Rose Staff Member
          • Feb 2001
          • 2729

          #5
          The best way is to set up a support ticket at support.indigorose.com.

          (F4.0 was short for Falcon 4.0...my mistake. I saw the "FalconTutorial" in your log and thought you might be working on one of the community remake projects. I just googled Novint though and see that it's a 3D controller that uses haptics. Cool.)
          --[[ Indigo Rose Software Developer ]]

          Comment

          • jlsf2
            Forum Member
            • May 2007
            • 101

            #6
            Lorne, I figured out how to make it fail.

            I had 3 versions in my patch file: v1, v2, v3.

            Going from v1 to v2/v3 was a large patch (40MB).
            Going from v2 to v3 was very small (<1MB).

            So, I created two patch files. One that would go from v1/v2 to v3 and one that would go from v2 to v3. I then have a lookup table in my updater to choose patch files based on the client version #.

            The patch file that fails is the one that only supported going from v2 to v3.

            I saved my project under a new name and deleted the v1 tab altogether. So the patch file created from this project also only supports going from v2 to v3.
            *** This patch file works just fine. ***

            So, it has something to do with the project having versions that are NOT included in the patch file.

            Another note: It does NOT having anything to do with the new file in my release. I went and made a file that was in all 3 releases become a key file (I modified it for v3 just for this test), and when I built the patch to go from v2 to v3 (in the project that has all 3 versions), it will still fail.

            Comment

            • Lorne
              Indigo Rose Staff Member
              • Feb 2001
              • 2729

              #7
              Thanks for sending me the project, Jeremy.

              I've looked into the source code and although this line in the log says it is a warning:

              Code:
              [09/28/2007 12:11:17] Warning Backup file failed: (2) C:\Program Files\Novint\Games\Falcon Tutorial\*.* -> C:\Program Files\Novint\Games\Falcon Tutorial\Backup\*.*.bak (2001)
              ...behind the scenes it is actually being treated as an error and causing the patch to abort.

              For some reason, the folder reference in the first version is being added to the list of legacy files to be removed by the patch.

              In Jeremy's project there are two files that are brought into the first version by that folder reference, which are not in the later versions. It seems that the build process is getting a bit confused by those folder-referenced legacy files for some reason when building a patch that does not include that first version.

              Note that it isn't the file that was introduced in version 2 that is the problem, but the files that were in a folder reference in version 1 but not in version 2 or 3 that are triggering this.

              We'll look into this bug (16568). If anyone else runs into this problem in the mean time, there are a couple of workarounds you can use:
              • As Jeremy did, you can make a separate project that does not include the first version.
              • Alternatively, you could replace the folder references with individual file references.
              --[[ Indigo Rose Software Developer ]]

              Comment

              • Lorne
                Indigo Rose Staff Member
                • Feb 2001
                • 2729

                #8
                I've found the cause of the bug -- it had to do with the Delete Legacy Files option. The code for deleting legacy files wasn't taking the "versions to include in build" setting into account, and was scanning all of the versions in the project for legacy files. However, folder references were only expanded in versions that are included in the build.

                For various reasons this may only manifest itself when design-time constants are used in the source folder paths.

                I've fixed this bug for the next version (3.0.2.0). In the meantime the above workarounds should work (or you can disable the "Delete legacy files" option in Project > Settings > Advanced).
                --[[ Indigo Rose Software Developer ]]

                Comment

                Working...
                X