Search Unity

P.A.T.C.H. - Ultimate Patching System

Discussion in 'Assets and Asset Store' started by ManHunterITA, Jul 20, 2015.

  1. Zenix

    Zenix

    Joined:
    Nov 9, 2009
    Posts:
    207
    In Launcher.cs, at the end of 'CheckForUpdates', you attempt to access Application.dataPath. This doesn't work, because you run CheckForUpdates in a separate thread.
     
    ManHunterITA likes this.
  2. musoufan91

    musoufan91

    Joined:
    Nov 27, 2012
    Posts:
    8
    I know this might not be the ideal use case, but there is no way to remake a patch file. The plugin locks up and locks up those files.

    Edit:
    Actually I think I figured it out. You have to delete the archive and the line to the previous patch in the versions.txt.

    I guess at the end of the day, I am troubleshooting and id like to roll back a build or re build out a patch file.
     
    Last edited: May 24, 2017
    ManHunterITA likes this.
  3. Rod-Galvao

    Rod-Galvao

    Joined:
    Dec 12, 2008
    Posts:
    198
    Same error
    Same error here.
    Please change the code so we don't need to do it every time.
     
    ManHunterITA likes this.
  4. Rod-Galvao

    Rod-Galvao

    Joined:
    Dec 12, 2008
    Posts:
    198
    Both at Localizatron.cs and LocalizatronEditor.cs
     
    ManHunterITA likes this.
  5. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    @ManHunterITA Hello, It seems that the progress bars are not working and showing full 100% all the time, any solution? 5.6.1 unity, 2.1.2 PATCH and using unity scene not the .net ( I see that more ppl mentioned this so...) (

    I see that the .net one works fine with the progress bars etc but can i edit this one in the cheap version to put my logos etc.? it seems that i get errors when trying to compile the .net launcher with my logos etc, and the external builder is not givving me the options for the ftp uploads, it would be handy because unity stucks for a lot of time while in upload.

    Severity Code Description Project File Line Suppression State
    Error CS0234 The type or namespace name 'Debugging' does not exist in the namespace 'MHLab.PATCH' (are you missing an assembly reference?) PATCH_Launcher C:\Development\Projects\5.6.0\Assets\MHLab\PATCH\Source\Launcher\Scenes\LauncherWinFormsStyle\Form1.cs 7 Active



    Also It seems that the launcer doesn't start the game after finishing the install and pressing start (have to do it manualy in the folder). I ve tripple checked the name of the executable before i export the launcher
     
    Last edited: Jun 11, 2017
  6. Crouching-Tuna

    Crouching-Tuna

    Joined:
    Apr 4, 2014
    Posts:
    43
    Halooo.
    I'm about to buy the asset. Planning to put them in local game centers as well. Just wondering if it'll work because each internet game centers probably have different settings.
    Do you have a like, test launcher + game that I can download and see if the launcher can connect properly, the settings are proper to allow patch to be extracted in their PCs, etc?
    This is the only thing keeping me from getting it now to be sure. I'm from Indonesia and knowing my own country, we "improv" with setting up anything so every game center might be very different. (I set up some private server games that uses FTP in the past and turned out in this 1 game center they block port 20 21 for ftp)
    Cheers!
     
  7. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Yeah, I'm aware about progress bars issue. I already solved it for next release (together with a lot of additional features).

    You can edit the aspect of the cheap version as you prefer and you can also manually upload your files if it requires too much to upload. I'm providing to improve the FTP uploading support for next release.

    The error is caused by a missing reference to MHLab.PATCH.dll: add it in your project! :p

    Can you show me your configuration?
     
  8. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    I haven't any test launcher, I'm sorry.

    But you can ask me every question you want: I'm here for you!

    Also, P.A.T.C.H. works with HTTP/HTTPS, not only FTP, so you will be able to download files also if FTP is "disabled".
     
  9. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    You mean I should add MHLab.PATCH.dll somewhere in the code? because the file is in the same directory correctly.. :)
     
  10. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    I mean you have to add a reference to that DLL in your project:
     
  11. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    Yeap worked fine! the last issue is that after pressing start to launch the game, it doesnt start. I feel I m doing the build wrong, which is the right way? just saving the build in the "current" folder without any sub folders? (meaning i have the .exe and data folder) or having a subfolder inside the "current" folder before the build? (meaning current\gamefolder\ and inside that to have the .exe and data folder.)
     
  12. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    Well the weird thing is that my project is almost 3gb, and if i change just a couple of tree colliders, the patch is 1.5gb... is that normal?
     
  13. Crouching-Tuna

    Crouching-Tuna

    Joined:
    Apr 4, 2014
    Posts:
    43
    Haloo. I just bought PATCH. Everything works nicely and made several patches already.
    It works everywhere except this 1 internet cafe, where it just stuck on "Checking version". Checked the log, and it also says just "Checking version" at the last line. Waited and played other games and checked back and still does nothing.

    Firewall was off. Added exception to port 20 and 21, still the same. Run as admin, compatibility, same thing.
    Is there anything I can do to check further what could be wrong? I'm going back to the place later (in 6 hours from now), because I can't plug my own laptop(with editor and stuff) and can only send another copy(if it's a launcher build issue) via flashdisk.

    Cheers!
     
  14. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    You can place what you prefer in your "current" folder. Just be sure to fit your configuration properly.
    If your AppToLaunch is "Build.exe", it will refer to "current\Build.exe".
    If you place your "Build.exe" in "current\subfolder", your AppToLaunch will be "subfolder\Build.exe".

    Depends on how Unity recompiles those changes. It is a binary format. P.A.T.C.H. makes a diff between old and new files, if 1.5GB change, it will include 1.5GB in next patch.

    Seems like P.A.T.C.H. cannot reach remote server. Take a look to output_log.txt too.
     
  15. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    ok all good, yeah I get what you are saying, it seems that when i have a world transformation change, the patch is huge, instead of engine changes which is just 1-2mb.

    thank you.
     
  16. Crouching-Tuna

    Crouching-Tuna

    Joined:
    Apr 4, 2014
    Posts:
    43
    Ok now it's stuck in "Checking for remote service!" "Checking..." and they're all 100%

    The first time I tried opening, there's Windows Defender or something that I have to OK. Last time I tried(on different PC, same inet cafe), that didn't show up. If that matters

    Cheers!

    Edit: Just tried leaving it on. Maybe 20 minutes after, it's now "Can't find remote versions list!" "Error!"
     

    Attached Files:

    Last edited: Jun 16, 2017
  17. gregwrogers

    gregwrogers

    Joined:
    May 26, 2017
    Posts:
    3
    Hi ManHunterITA,

    Just wanted to say up front that this is a great product and you do a great job supporting it.

    I'm responding to this older post because I have a similar issue going on here in the project we're deploying. If it helps for reference this is the same project that the user LoftytheMetroid has discussed with you in this threat in the past.

    This issue some of our users are experiencing is they receive the "installation failed, no versions installed!" error while downloading and constantly have to restart (screenshot below). One unique thing about our game (and not something we're necessarily proud of ) is it is very large (~19 GB). We have deployed this game in the past in smaller chunks so we are very familiar with the settings and requirements for the workspace folder, etc., and have had successful deployment of builds and patches in the past, however this is a new problem for us in the most recent deployment.

    I see where the fix for the previous user was to insure that the API compatibility is set to .NET 2.0 instead of the default .NET 2.0 Subset, however our PATCH project already has this set this way, yet our users are still getting this error. Are there any other fixes you can think of we should try that might solve this error for our users? Thanks for your time.
     

    Attached Files:

  18. gregwrogers

    gregwrogers

    Joined:
    May 26, 2017
    Posts:
    3
    I've just received an error log from one of my users. Comparing it to the error.log file from my local test I've highlighted where the two seem to be differing, and this seems to be telling me that it is a connection issue on the user's end or there is some issue connecting with our server. Based on the error logs screenshots attached, would you say this is the correct conclusion to come to?
     

    Attached Files:

  19. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Hi,

    yeah: your conclusion seems to be correct.
    That specific message is generated here: http://prntscr.com/fs2z26
    It is an exception handling: it catches errors not related to the installation process (so connection timeout, connection absence, etc.).
     
    gregwrogers likes this.
  20. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    327
    Hello ManHunterITA,

    Is possible to add these features:

    - Add login system
    - Google authenticator capability (option can be turn on or off by admin for 2 lvls of security: login + google authenticator).

    The gamer must be login before downloading something for security and bandwidth saving. The login system can be linked to Wordpress, Drupal, Joomla or anyway *SQL database with crypted link.

    ++
     
  21. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Hi,

    I already added a login system, but it is general purpose: in this way you can implement your login logic as you prefer (Wordpress, Drupal, etc.).
     
  22. Tuitive

    Tuitive

    Joined:
    Mar 25, 2013
    Posts:
    36
    Hi, I'm interested in this asset but need to know how it works w code signed Unity standalone builds for both Mac and Windows. I code sign my builds so users don't get the scary security warnings...if I were to apply an update patch to a code signed build, does it break the code signing? Any info on this?
     
  23. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Uhm, sincerely I don't know.
    Never tried and I have no info about this topic.

    Contact me on email or Discord, we can test it.
     
  24. Tuitive

    Tuitive

    Joined:
    Mar 25, 2013
    Posts:
    36
    Thanks, I sent you an email.
     
  25. morfaine

    morfaine

    Joined:
    Oct 1, 2015
    Posts:
    9
    I am using an integrated patcher for both a PC and Mac education application. Overall the asset is okay but not without frustration, particularly for the Mac.

    A couple of small concerns.

    1. Building for Mac. Is it possible to include a custom path for the logs and local version file so we can put these into the app folder. As it is at present our app cant be distributed as a single movable app archive and need the users to copy around the version file if they are moving the application.

    2. When building the version (after putting the app in the current directory) the copy to the builds directory strips any empty directories from the project. We have empty directories to allow users to download content when using our applications. To get around this we have put empty files in the directories so they get recognised and copied.

    General feedback.

    I found the documentation frustrating since it assumes a certain use of the patcher which takes quite a few reads to become clear. It needs to state use cases for the patcher before it describes how to set up those use cases. Also, changing the '.Net subset' should be at the start of the document with a set of installation requirements, not tucked away in the questions at the end (wasted a few hours figuring out why it wasn't working).

    Trying to modify the supplied launcher source code to create a custom integrated patcher is fraught. Many many times when I tried to make changes to a copied version of the integrated launcher source the external dll would error and hard exit my application with thread exceptions (even in the editor). There have also been many other editor and application hard crashes by the patcher when it's not setup as intended in the host application correctly.

    Also, use of the Unity default UI progress bars rather than trying to implement your own would make user customization much much easier.
     
    ManHunterITA likes this.
  26. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269

    Now it's not possible anymore to set wrong the .NET requirement: finally! :)


    It is now possible to create branches.


    Builds optimization is finally integrated and out of beta!


    A new deploy features has been added!


    Logs are now integrated directly into Unity: it should be more convenient.


    Also added a little reminder that spawns sometimes :p

    Some other features added:
    • CORE - IMPORTANT: Whole refactoring of Unity Patch Builder Window
    • CORE: New logging system, expandable and interchangeable. You can create your own by implementing ILogger interface

    • CORE: Added log formatters to manage multiple file outputs (.txt and .html targets included in the core)

    • CORE: Fixed a bug on Version.Increment method

    • CORE: The whole codebase has been splitted into multiple DLLs to ensure code reusing and modularity
     
    tequyla likes this.
  27. newbie90

    newbie90

    Joined:
    Feb 4, 2016
    Posts:
    5
    Hello ManHunterITA,
    First and foremost, i want to say how great this asset is. I'm working in a small team, on a small project , and we are using this product. It works well for the most part, however some of our player, complain that they can't install our game because the loader gets stuck. Upon digging around a bit, we were able to reproduce the symptoms, and saw (at least from our tests) that only those who are using windows 7 os, experience this problem (so far, as received from our players). When testing on our dev machines with windows 7, the installer works great, but when testing the same installer on another win 7 machine (an older machine with old hardware), we get the same results as our users. Upon opening the install log, we see the following error:
    [P.A.T.C.H. - 7/27/2017 3:55:10 PM] Downloading file... - Downloading file resources.assets.resS from remote server!
    [P.A.T.C.H. - 7/27/2017 4:01:19 PM] Build 0.7.0.1 skipped! - The operation has timed out.
    Do you have any ideas to point us in the right direction ? (the resources.assets.resS file is 150+ MB in size)
    All the machines using windows 7 belong to the same network ( a high speed connection), the machine doesn't experience any network connectivity problems that would explain the above error, the server seems to run just fine. We suspect that something has to be in the windows 7 machine config, that makes the installer time out maybe...
     
  28. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    Does PATCH work with 2017.1?
     
  29. hima

    hima

    Joined:
    Oct 1, 2010
    Posts:
    183
    Hi @ManHunterITA , I was wondering if there's a way to create patch for Windows and OSX version separately from the same project? I read through the documentation and I couldn't find anything on that.
     
  30. TimeSniper

    TimeSniper

    Joined:
    Nov 26, 2012
    Posts:
    17
    Currently, my launcher is based on Unity and experiencing the same issue. If it will take rather long for you, can you guide me how to fix it myself? Is the update from your side(DLL update) necessary?
     
  31. safacon

    safacon

    Joined:
    Sep 5, 2013
    Posts:
    3
    I am assuming this will make it possible to keep separate folders for build platforms like
    -Windows patches Branch
    -Linux patches Branch
    -Mac patches Branch
    ?

    When will this update be added to the Asset store?
     
    Last edited: Aug 18, 2017
  32. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    First of all, sorry for delay: I received no email notifications for your posts. Weird.

    It is really weird, the exception clearly says "The operation has timed out" so it is something about connection to your server. You should indagate on this, I think.

    As far as I know: yeah, it works with 2017.1. Anyway, I'm developing 3.0.0 directly on 2017.1! :)

    At the moment, you can't create them in the same project. You should create two different P.A.T.C.H. projects or use the WinForms Patch Builder.
    But don't worry: in 3.0.0 I added branches support (this already solves the problem, but I'm considering to add a platform dedicated switch).

    No, it isn't necessary an update from my side. You can just add a reference to DLL by yourself.

    Yeah, basically you can add every separation you want.
    You can create "Windows"/"Mac"/"Linux" branches, but also "Development", "Production", "Testers", etc.
    It is useful in some cases.
     
  33. sumpfkraut

    sumpfkraut

    Joined:
    Jan 18, 2013
    Posts:
    144
    Hey, i made some updates with patch until now and it worked good.

    but with my last update it does nothing after (or before) downloading the file. Any idea why?
    here is the log:
    Code (CSharp):
    1. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Patching process is started!
    2. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Cleaning! - Cleaning P.A.T.C.H. workspace!
    3. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Checking version... - Found version 0.0.0.30
    4. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Checking... - Checking for remote service!
    5. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Cleaning! - Cleaning P.A.T.C.H. workspace!
    6. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Checking directories... - Checking directories and workspace creation!
    7. [P.A.T.C.H. - 9/15/2017 10:20:44 AM] Downloading file... - Downloading patch 0.0.0.30_0.0.0.31 indexer from remote server!
     
  34. liven999

    liven999

    Joined:
    Oct 7, 2015
    Posts:
    18
    Hello ManHunter,

    I bought your Asset Patch on Unity and I spent a couple of days trying unsuccessfully to find a workflow for its use. Of course, I have read (and re-read) your documentation.
    Everything works fine until the upload phase.

    Is there a way to apply patches with simple zip (or exe) files rather than with directories, because for the developer with very small buget that I am, it is problematic to rent an internet space for this purpose (all ftp solutions I have found are not free).

    I've seen your asset on Itch.io, so I guess it's suited to this platform, but if I'm not wrong, on itch.io we can only upload / download single files (no entire directories with their structure). Do you have any advice on that?

    I hope you can help me, otherwise your asset will be unusable for me :(
     
  35. Thorgalson

    Thorgalson

    Joined:
    Mar 9, 2017
    Posts:
    8
    Hello,

    I'm wondering if we can use this package to have a background app that looks every midnight on server if installed unity app needs update and silently install them?

    Thanks
     
    Last edited: Sep 18, 2017
  36. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Can you provide me your output_log.txt file too? There are no useful info in that logs you attached.
    Remote builds are for installer and repairer purpose. If you don't want them on your server, you can disable installer and patcher (it isn't a good practice, anyway: if one of your users' file will be corrupted, P.A.T.C.H. will have no way to repair it).
    In next release I also added a builds optimization feature, to save up to 99% of builds' size.

    P.A.T.C.H. works with each service who can expose files path: I don't know about itch.io hosting, I just placed it there because it is a valid tool for game programmers.

    Yeah, you can modify it to do this behavior.
     
  37. sumpfkraut

    sumpfkraut

    Joined:
    Jan 18, 2013
    Posts:
    144
    my output_log.txt
    Code (CSharp):
    1.  
    2. Initialize engine version: 5.6.2f1 (a2913c821e27)
    3. GfxDevice: creating device client; threaded=1
    4. Direct3D:
    5.     Version:  Direct3D 11.0 [level 11.0]
    6.     Renderer: NVIDIA GeForce GTX 780 Ti (ID=0x100a)
    7.     Vendor:   NVIDIA
    8.     VRAM:     3039 MB
    9.     Driver:   22.21.13.8253
    10. Begin MonoManager ReloadAssembly
    11. Platform assembly: C:\EfEd\Standeditor_Data\Managed\UnityEngine.dll (this message is harmless)
    12. Loading C:\EfEd\Standeditor_Data\Managed\UnityEngine.dll into Unity Child Domain
    13. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
    14. Loading C:\EfEd\Standeditor_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
    15. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Assembly-CSharp.dll (this message is harmless)
    16. Loading C:\EfEd\Standeditor_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
    17. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Assembly-UnityScript-firstpass.dll (this message is harmless)
    18. Loading C:\EfEd\Standeditor_Data\Managed\Assembly-UnityScript-firstpass.dll into Unity Child Domain
    19. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Assembly-UnityScript.dll (this message is harmless)
    20. Loading C:\EfEd\Standeditor_Data\Managed\Assembly-UnityScript.dll into Unity Child Domain
    21. Platform assembly: C:\EfEd\Standeditor_Data\Managed\UnityEngine.UI.dll (this message is harmless)
    22. Loading C:\EfEd\Standeditor_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
    23. Platform assembly: C:\EfEd\Standeditor_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
    24. Loading C:\EfEd\Standeditor_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
    25. Platform assembly: C:\EfEd\Standeditor_Data\Managed\AmplifyOcclusion.dll (this message is harmless)
    26. Loading C:\EfEd\Standeditor_Data\Managed\AmplifyOcclusion.dll into Unity Child Domain
    27. Platform assembly: C:\EfEd\Standeditor_Data\Managed\ICSharpCode.SharpZipLib.dll (this message is harmless)
    28. Loading C:\EfEd\Standeditor_Data\Managed\ICSharpCode.SharpZipLib.dll into Unity Child Domain
    29. Platform assembly: C:\EfEd\Standeditor_Data\Managed\MHLab.PATCH.dll (this message is harmless)
    30. Loading C:\EfEd\Standeditor_Data\Managed\MHLab.PATCH.dll into Unity Child Domain
    31. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Photon3Unity3D.dll (this message is harmless)
    32. Loading C:\EfEd\Standeditor_Data\Managed\Photon3Unity3D.dll into Unity Child Domain
    33. - Completed reload, in  0.176 seconds
    34. Platform assembly: C:\EfEd\Standeditor_Data\Managed\System.Core.dll (this message is harmless)
    35. Platform assembly: C:\EfEd\Standeditor_Data\Managed\System.dll (this message is harmless)
    36. desktop: 2560x1600 60Hz; virtual: 2560x1600 at 0,0
    37. <RI> Initializing input.
    38.  
    39. <RI> Input initialized.
    40.  
    41. <RI> Initialized touch support.
    42.  
    43. UnloadTime: 0.733848 ms
    44. [Localizatron] Locale loaded at: en_EN
    45.  
    46. (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    47.  
    48. [Localizatron] Locale loaded at: en_EN
    49.  
    50. (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    51.  
    52. Platform assembly: C:\EfEd\Standeditor_Data\Managed\Mono.Security.dll (this message is harmless)
    53. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/.\/System/Library/Frameworks/Security.framework/Security
    54. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    55. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/.\lib/System/Library/Frameworks/Security.framework/Security
    56. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    57. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/.\/System/Library/Frameworks/Security.framework/Security
    58. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    59. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/.\lib/System/Library/Frameworks/Security.framework/Security
    60. Fallback handler could not load library C:/EfEd/Standeditor_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    61. System.NullReferenceException: Object reference not set to an instance of an object
    62.   at MHLab.PATCH.Downloader.DownloadData.GetRequest (System.String url) [0x00000] in <filename unknown>:0
    63.   at MHLab.PATCH.Downloader.DownloadData.GetFileSize (System.String url) [0x00000] in <filename unknown>:0
    64.   at MHLab.PATCH.Downloader.DownloadData.Create (System.String url, System.String destFolder, IWebProxy proxy) [0x00000] in <filename unknown>:0
    65.   at MHLab.PATCH.Downloader.FileDownloader.Download (System.String url, System.String destFolder) [0x00000] in <filename unknown>:0
    66.   at MHLab.PATCH.PatchApplier.DownloadPatchArchiveFile (MHLab.PATCH.Patch p) [0x00000] in <filename unknown>:0
    67.   at MHLab.PATCH.PatchApplier.PerformUpdate (MHLab.PATCH.Patch p) [0x00000] in <filename unknown>:0
    68.   at MHLab.PATCH.PatchApplier.CheckForUpdates () [0x00000] in <filename unknown>:0
    69.   at MHLab.PATCH.LauncherManager.CheckForUpdates () [0x00000] in <filename unknown>:0
    70.   at Launcher.CheckForPatches () [0x00000] in <filename unknown>:0
    71.   at Launcher.CheckForUpdates () [0x00000] in <filename unknown>:0
    72.   at Launcher.<Start>m__0 () [0x00000] in <filename unknown>:0
    73.   at UnityThreadHelper+<CreateThread>c__AnonStorey2.<>m__0 (UnityThreading.ActionThread thread) [0x00000] in <filename unknown>:0
    74.   at UnityThreadHelper+<CreateThread>c__AnonStorey0.<>m__0 (UnityThreading.ActionThread currentThread) [0x00000] in <filename unknown>:0
    75.  
    76. (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
    77.  
    78. Setting up 6 worker threads for Enlighten.
    79.   Thread -> id: 6c4 -> priority: 1
    80.   Thread -> id: 13b4 -> priority: 1
    81.   Thread -> id: 584 -> priority: 1
    82.   Thread -> id: 2e40 -> priority: 1
    83.   Thread -> id: 5f4 -> priority: 1
    84.   Thread -> id: 580 -> priority: 1
    85.  
    86.  

    EDIT...

    I found the problem. It was the damn NET 2.0 subset option.
    I have updated to unity 2017, and switched back to unity 4.6.... pearhaps this activated the subset again.
     
    Last edited: Sep 19, 2017
    ManHunterITA likes this.
  38. liven999

    liven999

    Joined:
    Oct 7, 2015
    Posts:
    18
    Ok, I see what you mean (and I am conscious of the limitations), but it does not tell me how to broadcast a patch without going through a server. For example, by distributing directly to the user a single zip file containing the elements of the patch from which he could update his application "locally".

    For the Itch.io case, as far as I know, this part-form (like the vast majority of storage solutions accessible to those who can not afford to rent a server space or deploy a complete website) only offer the download of unique files from an unique generated link (without browsing a tree).

    What I am looking for is a way for the final user to "localy" apply a patch. I thought your asset offered this possibility because it is a commun way to patch programs and I did not see, in your asset description, prerequisites such as "have a storage space on the internet with file tree access". If that had been the case, I would have studied the matter before committing myself (and then coming to bother you here).

    To speak the same language, here is a fairly common example of what I call a local patch process:
    - The developer generates a patch with your asset
    - The developer compresses this patch in single zip file
    - The developer transmits the zip file to the user (there are a lot of free ways to distribute a single file, unlike renting a space that gives access to the directory tree)
    - The user retrieves the zip file
    - The user updates the program by one of the following methods
    - Decompress the zip file and overwrite the original files (not very user friendly, that's true)
    - By putting the patch in a suitable local directory in which the patcher will fetch the info
    - By launching the patcher who will ask the user where the zip file containing the patch is (on his computer therefore on a server)
    - or other local methods ...
    Another solution would be that your asset generates a file "patch0.0.1.exe" and when the final user launch this patch installation file, it retrieves the installation path of the program to update.

    I understand that the design you have chosen for your application is very final-user-friendly. Indeed the player has only to launch the launcher and everything happens. And it's really great. If the developer has the server behind.
    But this choice seems to limit things (see making them impossible?) For devs who do not have this infrastructure.

    I know that is easy to say "it would" without fully knowing the implications. Or maybe your asset already offers a solution, but since I did not find it (neither in your documentation nor by experimenting) I allow myself to relaunch the subject. Or maybe you know a free internet storage solution which suits with your asset ?
     
    ManHunterITA likes this.
  39. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Well, indeed my asset has a clear direction to apply patches: the user connects to a server and the patcher downloads all needed stuff, without any user interaction.
    Of course it is hard to satisfy every developers' need (that's one of the reasons I also provided a package with full source code, to allow developers to customize it to suit their needs), but I will try my best.

    At the moment, local patching isn't a feature. I can think to implement it for next releases, of course. It seems not hard to do at all, with my new code architecture (the new 3.0.0 release has a whole refactoring behind).

    About the free storage: you can try with Altervista. I already used it with P.A.T.C.H. (for demo purposes) and it worked well.

    Anyway, you can see also about AWS S3 service: they have really cheap solutions you certainly can afford.
     
  40. Thorgalson

    Thorgalson

    Joined:
    Mar 9, 2017
    Posts:
    8
    hello,

    I just got your package and started doing the video tutorial. Everything is smooth until I reach the part where its supposed to replace an existing scene (7:07). For some reason, it fails for me and stay on current. I'm sure I did something wrong so I will retry tomorrow.

    I was using unity 5.5.1f1, but will retry on Unity 2017.

    I have to say that it looks like an amazing tool so far.

    Thank for support

    /////////////////////////////////
    Update: So using unity 2017 and making sure I follow the exact same steps as the videos, It works. Not too sure what I did wrong yesterday.
    The only thing I could see is that instead of let versions increment (0.0.0.0 to 0.0.0.1 then 0.0.0.2), I think I used 0.0.1.0.

    Mykel
     
    Last edited: Sep 22, 2017
    ManHunterITA likes this.
  41. liven999

    liven999

    Joined:
    Oct 7, 2015
    Posts:
    18
    ok. got it.

    I hope you can do something in the future.


    ok. got it.

    I hope you can do something in the future.

    Today I am a little tired of looking for a solution to this problem and think that I will have to leave your asset aside for a moment. Too bad, it looked promising.

    PS : You should really indicate that your asset is not "autonomous" in its description (And unify your license policy between description and documentation).
     
  42. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Well, it is "autonomous": download the latest patch from a server who deals with version information automatically (with no user interaction and no human error), apply it without any user interaction, is the common way (I would like to say the state-of-the-art way) to apply patches, nowadays!

    Consider that for next releases I planned to add a dedicated server software (for pro version) who automatically builds patches on demand and serves them to clients.
    So, as you can see, the server is an important part of this workflow.

    What you stated is a really edge case (in two years, it is the first time I hear this request about applying patches locally, by downloading them manually somewhere. Also, you have to download them anyway, so you're storing them on a server or you're manually sending them to players: not the best deployment option I have to say).
    But anyway: I will probably add a way to do this in next version. With new structure, it is easy to add a service to look into a specific folder to recognize about local compatible patches, before downloading them.

    Another thing that can help is a torrent/P2P patches exchanging method between clients: but I have to develop it and it is not trivial, plus some users probably don't want to share patches with other clients (it means to have a continous upload to share resources).

    About the license: we can't really change the license policy on Unity Asset Store page. But I know that one license per seat is overkilled for this software (if your team is composed by 10 developers, you don't want really to buy 10 licenses just to publish patches). So I decided to add a little bit of freedom to my license: 1 license per deployed project. Nothing weird.
     
  43. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    296
    @ManHunterITA After updating to 2017.1 I upload my builds fine, but when the patcher (.net) downloads, it always disconnects from server after sharedassets0 which is about 4.2gb, and I get a wrong version error and doesnt continues. If i run the patch again it starts from where it stoped and it finishes. this happened after 10 tests, and more than 10 builds (0.0.0.0) any fix for it?
     
    Last edited: Sep 27, 2017
  44. Strolski

    Strolski

    Joined:
    Jan 9, 2017
    Posts:
    48
    Is there a planned date for a new version? I am looking into this but I want to make sure it is still actively maintained.
     
  45. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Any additional info about this? Seems like the remote host dropped your connections after a long time.
    I have planned to release the new version (3.0.0) for the end of September, but I have some deadlines to complete some milestones at my job, so I delayed the release.
    It is still maintained and developed, a lot of things were already added, changed and fixed since the current version on Asset Store (as I said, we are now to the 3.0.0 version).
    I want to release it in a perfect state, so I will wait until I am sure it is in a production state: meanwhile, you can join us on Discord server. We discuss there about new features, beta, etc.
     
  46. spootymilk

    spootymilk

    Joined:
    Jun 9, 2017
    Posts:
    15
    Hi,

    I purchased your asset. And it is not working. It even crash my game !
    I probably miss something. I'm using unity 2017.1. and it is a windows game. i'm also using the asset obfuscator maybe it cause the problem

    This is what i would like to do :
    1 - A launcher to install my game the first time in ProgramFiles/MyFolder (external launcher) witch download the last version available.
    2 - Update the game directly in my game. (integrated launcher)

    Maybe the integrated launcher could install the game in programfiles/MyFolder directory.

    how can i do that ?

    could i build the external launcher directly in unity ? why the launcher crash ?
     
    ManHunterITA likes this.
  47. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    Hi,

    did you follow the doc and the video?
    It should not crash if the setting part is done correctly! :)

    With P.A.T.C.H. you can create mixed tools to reach your target.
    Example: you can create an external installer (by enabling only the installer feature and setting up the directory where to install the game) who will download the game with the integrated patcher.

    Integrated Launcher should not install the game, since it is "integrated": this means it is distributed inside your game (so your game already exists when the Launcher is launched).
    Yeah, you can build an external Launcher from Unity: it is just another Unity built app.

    I can't know why your Launcher crashes, you should provide me for more information about your case!
     
  48. spootymilk

    spootymilk

    Joined:
    Jun 9, 2017
    Posts:
    15
    HI,
    it is 5 days, i'm trying it to work..... So sure i've read your doc !!! ;)
    I'm on windows 10 Pro on an admin account, i try to launch the game with admin rights.
    If i active the installer, the game crash. If i only active the patcher, it says it is downloading the patch but nothing happen.

    I trying now with a very simple game (3 scenes with only buttons to game from a scene to another) and the patch folder is on my harddrive to avoid the time to upload for the test.
    Really i don't know why, i verify every parameter and all the time it is the same. If installer is active : crash, if only patch, it doesn't do nothing.

    Which informations do you need to help me ?
     
  49. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    269
    I would like to see your configuration, your API Compatibility Level (it has to be set to .NET 2.0 instead of Subset), your folders' content and your logs (both from Launcher and from Unity, if any).
     
  50. spootymilk

    spootymilk

    Joined:
    Jun 9, 2017
    Posts:
    15
    ok i assume, i begin to be on the good way, if i execute the last version of the game, everything seems to be ok, with an integrated patch scene. the menu with start, option and quit appears.
    But if i execute the previous version it stays at the downloading process. Nothing in the error log only :

    [P.A.T.C.H. - 10/17/2017 12:47:54 PM] Checking version... - Found version 0.0.0.4
    [P.A.T.C.H. - 10/17/2017 12:47:54 PM] Checking... - Checking for remote service!
    [P.A.T.C.H. - 10/17/2017 12:47:54 PM] Cleaning! - Cleaning P.A.T.C.H. workspace!
    [P.A.T.C.H. - 10/17/2017 12:47:54 PM] Checking directories... - Checking directories and workspace creation!
    [P.A.T.C.H. - 10/17/2017 12:47:54 PM] Downloading file... - Downloading patch 0.0.0.4_0.0.0.5 indexer from remote server!
     
unityunity