Nice piece Josh, thanks for sharing! Tiemo > -----Ursprüngliche Nachricht----- > Von: [EMAIL PROTECTED] [mailto:use-revolution- > [EMAIL PROTECTED] Im Auftrag von Josh Mellicker > Gesendet: Freitag, 11. Januar 2008 01:13 > An: how to use Revolution > Betreff: Self-repairing install solution > > > For anyone who might need this in the future and hasn't written it, > hopefully I can save you some time! > > PROBLEM: What if your application depends on a bunch of auxilary > files scattered around the user's hard drive- maybe these are > pictures, movies, text files, settings, spreadsheets, who knows? You > know you can make an installer that initially, will put all these > files in all the right places. But what if the user accidentally > deletes or moves some of them? > > > Instead of an installer, here is a function you can run when starting > up that will install these files initially, then replace any missing > asset files, "repairing" an installation if necessary on each launch. > > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > STEP ONE: > > Use this function (during development) to find all the important > files and import them into custom properties: > > ON importAssetsIntoCustomProps > set the custompropertyset of me to "myAssetFiles" > REPEAT > answer file "choose file to import (cancel when done)" > IF it is empty THEN exit to top > set the myAssetFiles[it] of me to URL ("binfile:" & it) > END repeat > END importAssetsIntoCustomProps > > (You can do this repeatedly, as much as you want, it will update the > binary data if you import the same filename that has been updated) > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > STEP TWO: > > To call the function, use something like: > > on openStack > jjEnsureAssets > end openStack > > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > -- include these handlers: > > ON jjEnsureAssets > set the custompropertyset of me to "myAssetFiles" > put the customproperties of me into tAssets > REPEAT FOR each line pFile in the keys of tAssets > IF there is no file pFile THEN > makeFoldersIfNecessary pathFromPathAndFile(pFile) > put the myAssetFiles[pFile] of me into URL ("binfile:" & > pFile) > END IF > END repeat > END jjEnsureAssets > > ON makeFoldersIfNecessary pLocalFilePath > set the itemdel to "/" > put "/" into tPath > REPEAT WITH x = 2 to the number of items of pLocalFilePath -- > ("2" because "/" will surely exist! :-) > put item x of pLocalFilePath & "/" after tPath > IF there is not a folder tPath THEN > create folder tPath > END IF > END REPEAT > END makeFoldersIfNecessary > > FUNCTION pathFromPathAndFile tPathAndFile > set the itemdel to "/" > delete the last item of tPathAndFile > return tPathAndFile > END pathFromPathAndFile > > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > > _______________________________________________ > use-revolution mailing list > [email protected] > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
