Expansion Install getting stuck
-
So I've got several users having problems with an expansion install on both Windows and Mac. I can't reproduce the issue here, it just works fine on all my computers. The install dialogue opens fine and after the user has selected the location for their samples it either runs for a little bit and stops or runs forever, but nothing ever gets installed and the process never completes.
Would love it if anyone who's made an expansion install process could have a look at the below snippet and see if there's anything glaring in my code? And is anyone else experiencing this? Thanks :)
HiseSnippet 2243.3ocsY80iaabDm5rYZjpciCRenOUrf.MfJ8rhN6jTWbvnmNcR1pUmjfnriMbMB3QtRZio3JrKkkDNHf9EnemJ5mn9PeuclkTjTj5O2cIQv3r1cm+7alYmYmcUOA2gJkbgVghCVNkpU3A5VK8CFWerMyWq0EZE9L8FuoG4xVcZQ50u6eU67kSskRpqVgB26EHQEJdeM0m+ye4baOaeGZxTZZulybnsYSXAIy16r+FyyqosKc.aRJp+lyZ4v8qy83y..cO8pZSsc9f8HZGajriz0J7IMbYAbgUfc.UBzbN2co0X9b+P5eMSxtxihCNQyBDT3zZ0Gy7b6s1XkZZEteuDS+dgl9uU+RlKKd9DWviTKPR3HsOnvQ6CRmbKfTgTP59gP5y0sbDroAIqf34Wq2xOfJFZCt5zPIjVsi92egdcNPgePkI1ef1T.Ch4v76pV8XB7mxmVpD3tkAjOZKHzESeosuqGUPdNog+HlOshifB1TiESs8kLtez5l4XLbYIvXhTpLhFDyYalLXWrgwVj028dX8MmsxzYxwlFMqUeP29u0.EvPtvjRX96WSkKQfOaSXTjZvaNkJBXToY4J3hfjQFRAuXAZQ8nNP3EP3ZeJHg57IS49v.SibTh3L2jUjTfVV.chz33rH6G4LeSi+tuQYzD+5ulzZxTO5DP7jfwzDpIx4r.mwkJw78f3CY3Lem.bdteNEhfUv8LcViziA6xaFsboqKUzi6X6kH2A71baWvBiIFswV.XGPWnBbEKUDf02SIysi.0Pl.bUnAQB3DAErO07NyDBD3wBWwojSlSI9TpKRsyXa+QPTL.GXCwxISCVRjABl+nREYCMygrmmwk8tpuOLFuQbN1NLLhBnESsMAPX8PvE6rxpHvRWAQfabfVIyPGccaOuqfpUl6NVfAWbu0D6EB.S7ImlOR5SmCAgq3WwWXBeOVTXXasACNHl7B5PfQ2MIJwmTJ8+ec7zgAdmE4RUy4YhRIRXJ1UgYOXBqyhr4RagELZQddFlU4bgDuRYUkVoR8SEohARreMkmAcjocTy7cC8F3BB5HBWvfBXfdGKNUMwD4HbagUi1MpOf.GnUqiUqtcHUFKNgzrU6FFmtsrpVcrFTqcaf9cmNsoCN9KrgDSEE3l2SRBLgjB+oXwhQkYkvgEukJ6v+dFrqXt4ZXV4k8i.2wnAbbLxLgzM.ERk1CEHptzylfolLOp0RIjnV4JAetjZlZlKfio7fM9RP31dR5wDiuB8IFoT1XwZze8FV2XQk.tkJo07IkQyzPwZVaM7S5PBApHX4.6abgJNSWlhpMiS0Hs6Vu1.LP0raexfW1fXU6xdsan7JVXLKg0c5LC4Xsj1quba.ea91sS2V70M4hKXBUQfko86V1XEdYJX3xDkyHsrROrT25jDFbTEjaDmn.mxOoWX6RlgN6iInPOMiTVkYlUk19Zqme8b3X76qVm2t8pjIoL6p7XtjpMaLXpuGTjXD3vk67L2Tzn5JH0XTmuFy6LUM3DmLG4tRvwU+XbM0CbZsgQjKHyw1NdTaw5pdwYgffqrFLkKskZva.VX255RKmTNZ+7p7BDatblDywdB4K+RRR4ebwr0+ynOHYC6BjHmInpinmIgl7lpNxVRrgImM0E5yyMliMDZEA8pYPqpuB3pWHSlkSk4cnV1xUY71zBW9zfacScan6eB8kkOeI4KkNTQnGSh10Sp2EKGMnA4wFGmO+dyOFfWr0qqADmbhUy9cuTUILYpy69lTxJthB+C6xGBMPjdwcTqYW6SqVdi5taVAIqqIo5wpSydFeqLojYRQC6EF18BW67E8aXYQNuV+zUJvCtfCeN2d2MmmPhpNQxPT+8f62EzmOK.BYlwtsQk2WX458s3nJCg60VyyyLXLSVARprq3ntMatpvY3yUXOulGaDjRqZ4Ng+.X3wj2AWYC92I3U2dR02C0jb.6SPcM1ujWk2pwqbKh84wl8ds58a1jDzNMoxcTpfJyjhPX8lIy8C4sKssL4Wgti6fntzNXbEAGZZzL+52Xrgwksiq+Hw3OXbCDifNE2.dH2wpn6DN.3Io2z4vFMxU3cCoNyfZ2j4io9zOBE1wJ7SC83vUpf55QW2RlYeP6vQ42IvjQALX0xGnD00GXc0UU94SbYSqf.P0EMa9mq9zpOq1o2DlAOhHLEv7oUKeHVVcf0oPKy+bXRx.9zPPU9zewcAo29ZX7S0EbfkgMtuR0cgZe4qZcS.3MLw3f5d0gEPp650gGP6h0AutTQrI2rKMb3VWK5TQ06hskkihp6lQS+YSthJR+5LHgZEt+lOq3mbydVQmviASQHzvsOKn6TZz3lbOW74Bwum+QH0hNGEeNxHDBjFndLxGE8Xj0w6ceNegFCDyWnmqmJMkoj7rtO5LsW05BXW2ZgBxOoaMXtKnej4PCewyh5WPke.xG.OP7A4f4eKgvBsB5E9mfxWhe4YvWlXqlCwjpcOsBl5QsoV57t8eAzcgkUoK61o6isdamAurTmFupe2W1seGzoDCjeUHP9MQ.47YAAbeELdfdxMaP8GY9+C6yVlL3cmIs+HskeXmz3i1R8sg3H9.ysgqS3iSwjWxwW+yV.bV3nsn9Gt9cgs8odJs+P8T8qkR8ZsRo9+0UmMm4FLFcD+2BZZiorQiCvQKfU+35sTEtmVdWedU9.8jSTRowynozHLHVi+tMz3uW8KAj6Euej9kb2Yd1Aa9.73uzPzBPXdiW8FeYaH3GrL8uDws3U4qt2Wk+lBwOWuG91raGiGsELBIC+RfwneKiGp2X3PHUHAf2Wu4atq+vEGP8g8POBZrRvvjrNylXAGM4PAs6C6VjX79Hr3R33p3XzCXQ8cUC9evmnEOAGWHZwSVuHj95H3+fSXII7WK4SUy.XxW8iCUT+RbL4j0Uez0qVop1DHu5GbbPy+wmnoscddxcfmmdG34atC77s2Ad9t6.O+o6.OOau7fkzpMKfOILc.lnWC0o.EJzPUySsKT6+Cnb98hK
-
@DanH Your code looks fine to me. Is the plugin codesigned/notarized? Does it work in standalone?
-
@d-healey Thank you. Yes fully signed and notarized etc. Everything works here and I can't recreate the issue so I'm really stuck
Could be a bit flakey on the HISE side of things perhaps....
-
@DanH Does it work in standalone?
-
@d-healey Right - the answer is sort of, here's what I've found so far for OSX (will attempt Windows later):
-
If the main 'factory' samples are installed on an external drive then I can install the expansion samples into the same folder BUT!! - no link file is created and my standalone cannot find the samples.
-
If the factory samples are installed on the system drive and I try to install the expansion samples into the same folder then the install process hangs UNLESS - I update the permissions of that folder and change 'everyone' to 'Read & Write'.
-
Installing the expansion content to a new folder on any drive is fine (but this apparently still doesn't work for the users who are having issues).
I seem to remember a thread about the link file not being written not so long ago.
Anyway I might resort to creating custom installers for expansions...
-
-
@DanH said in Expansion Install getting stuck:
@d-healey Right - the answer is sort of, here's what I've found so far for OSX (will attempt Windows later):
-
If the main 'factory' samples are installed on an external drive then I can install the expansion samples into the same folder BUT!! - no link file is created and my standalone cannot find the samples.
-
If the factory samples are installed on the system drive and I try to install the expansion samples into the same folder then the install process hangs UNLESS - I update the permissions of that folder and change 'everyone' to 'Read & Write'.
-
Installing the expansion content to a new folder on any drive is fine (but this apparently still doesn't work for the users who are having issues).
I seem to remember a thread about the link file not being written not so long ago.
Anyway I might resort to creating custom installers for expansions...
Were these tests done with standalone or plugin?
Here's a function I made for creating the link file myself with my custom installer. You can adapt it to suit your needs.
inline function createLinkFile(dir, target) { local filename = ""; switch (Engine.getOS()) { case "OSX": filename = "LinkOSX"; break; case "LINUX": filename = "LinkLinux"; break; case "WIN": filename = "LinkWindows"; break; } local f = dir.getChildFile(filename); if (target.isDirectory()) f.writeString(target.toString(f.FullPath)); }
-
-
@d-healey Standalone, but I'm almost certain the behaviour is the same in the plugin.
So you've made a custom installer within your plugin for expansions? I was talking about creating a .pkg / .exe
-
@d-healey where would I put this into my script?
-
So you've made a custom installer within your plugin for expansions? I
Yes, using zip files instead of
hr
where would I put this into my script?
I wouldn't use that with your existing script, this is for a custom installer.
-
@d-healey Oh ok, What prompted you to do that out of interest?
-
What prompted you to do that out of interest?
I'm making a custom downloader/installer. The problem with the
hr
system is if you want to provide a partial update the user has to redownload the entire thing.Imagine version 1.0 of my library contains 2GB of data, and version 2.0 contains an additional 100mb. The user who already has version 1.0 will have to redownload the 2GB they already have. With zip files I was able to build my own versioning system so users only get the pieces they need. This saves them time on the download/install and saves me money in bandwidth.