[FYI] Successfully protected a standalone Max app on PC
Feb 13 2010 | 11:18 pm
My client and I appear to have successfully protected a standalone Max application I built, using PC software from Oreans:
The key here is the "XBundler" plug-in, which allows you to "wrap" additional files into the application bundle: media, text, whatever you want. In this case, the all-important factor was the .mxf file, which is vulnerable to reverse-engineering. There is an option to bundle the file into the finished application, have it encrypted, and never be written to disk during runtime. Once the app was protected, we threw away the .mxf and everything worked just fine...the software makes a .bak file that has the .mxf encrypted inside. You then run the .exe (Max standalone app) as usual and it knows how to open it.
This was NOT straightforward, as many protection software apps don't allow this kind of bundling, they generally only protect .exe, .dll, etc., and not text files. Also it took awhile to get the settings just right, but there are a ton of options, so we needed to read the documentation carefully.
The Max standalone runs in Trial Mode until a hardware-dependent License key has been entered. This can be done with a generated .dat file or a Windows Registry Key entry.
The cost was about 450 Euros for the Single Developer License. You can allow software updates for your application as needed.
I don't know about similar software solutions for Mac, so if anyone has tips on this, I'd be very interested to hear about them.
Hope this is helpful to some!
- StvDeeFeb 23 2010 | 7:58 pmHi, nice post I am also interested in a similar solution. Could you please guide me a little bit more? As for example how much coding does it need, price for over 100 copies and so on. If you want you can contact me off listStavros - firstname.lastname@example.org
- Dan NigrinFeb 24 2010 | 3:01 amThanks Seejay - had you also looked at Molebox?I've not tried it personally, but someone told me that it works with Max applications. It seems a bit cheaper too, at 300 Euros for a license that allows up to 5 activations...Also don't know of any Mac solutions.
- seejayjamesFeb 24 2010 | 2:56 pmThanks for the info---Molebox looks like a very good alternative. All about the encryption capabilities. I think the advantage to Oreans is that you can protect as many apps as you want (I'm not totally sure about this), though you need to stay "subscribed" to keep your copy active. It's not bad rate-wise though. Definitely if you had just a few apps to work with, Molebox would be great, and the process looks like it might be easier.@stavros: Didn't need to do any extra programming, though they have a full SDK if you need it. This could be helpful with automating certain parts of a serial generation/licensing process. Though I'm not sure where/when/how to implement their SDK functions, they're designed to be used within your application that's already written in a language which supports calling those functions, so... where would they go in a Max standalone? Maybe a good question for the Dev list, but I don't know... anyway, they seem to be a good option. Like I said, the interface all works, but there's a LOT there and it will take some hours of reading docs and doing test runs. At least it did for me...it was quite the learning experience.
- StvDeeJul 22 2010 | 6:16 pmLate reply, sorry about that, but thanks seejayjames for the info and the suggestions.I did try the Molebox product but I don't think it can be any useful to MaxMSP standalone applications. It creates a packed - sort of an encrypted version - .exe that it is based on a pre-existing .exe file. This is a problem because if you want to encrypt your .mxf files you don't have the option to do it. I have emailed the company to clarify if you can also use it to encrypt other files than .exe as well.Stav.
- Peter NyboerSep 24 2010 | 10:29 pmWe (http://www.lividinstruments.com) have a fairly useful system for protecting standalones using a web registration if anyone is interested. It is all max based and cross platform, and uses an online form to provide keys. It is not perfect and not bullet proof, but if you are interested, I could likely help out.
- Hans MittendorfSep 25 2010 | 9:54 am@pnyboer please tell us more about it. Is it for Mac too?
- seejayjamesSep 25 2010 | 9:07 pm+1 for me, especially cross-platform... this has been pretty troublesome and expensive to get going. Very interested in your system. Feel free to email offlist or to post here if you think that's OK too.
- Mike SSep 25 2010 | 11:53 pmI vote for contacting peter offlist, and probably will be doing soon :)
- Hans MittendorfSep 26 2010 | 8:10 amPlease keep posting on this line. I have an interest too.
- Larsen187Nov 06 2010 | 1:13 amI try to find some way to protect the patch in osx.In windows is very simple just bundle all in oen single exe file and dne, you have protection for prevent anybody edit the patch.But in OSX?I not find anyway yet, im searching for 3 months and cant find. pnyboer your system can prevent edition of the patch?
- Larsen187Nov 06 2010 | 1:20 amBasically is needed some way to protect copy and edit of any osx stand alone created with max. Is amazing nobody from Cycling 74, dont take acre about this.
- Peter NyboerNov 06 2010 | 7:00 pmHi, Sorry I haven't followed this post. I need to add it to my favorites! Anyway, contact me off list at pete at lividinstruments and I can give more detail.Peter
- Larsen187Nov 06 2010 | 8:31 pmI try contact by lividinstruments.com, nobody reply. Contact to where please? some specific mail please? Thankyou !
- Peter NyboerNov 07 2010 | 3:11 pmwhat email did you use? I can look it up. Or send me an email to email@example.com
- seejayjamesNov 07 2010 | 6:09 pm@Larsen187:"In windows is very simple just bundle all in oen single exe file and dne, you have protection for prevent anybody edit the patch."How do you do this? What program will bundle it into a single .exe file for you? And is it free?If you build a standalone Max app on Windows you can still crack the .mxf.
- hardcoderOct 28 2013 | 3:55 pm@Seejay:I tried to protect our app with Themida and XBundler just as you posted. After one day of trying, it does not work. I can start the Max Runtime but the mxf file (which I deleted after protecting the app with Themida/XBundler) can not be opened via open file dialog.Here is my Themida log file. Can you give me a hint, which settings to choose? Thanks!
Themida - Advanced Windows Software Protection System [Version 184.108.40.206] Protection Options for MAXapp.exe --------------------------------- Macros Information ------------------ VM Macros: 0 CodeReplace Macros: 0 ENCRYPT Macros: 0 CLEAR Macros: 0 MUTATE Macros: 0 STR_ENCRYPT Macros: 0 CHECK_PROTECTION Macros: 0 CHECK_CODE_INTEGRITY Macros: 0 CHECK_VIRTUAL_PC Macros: 0 Protection Options ------------------ Anti-Debugger: Advanced Anti-Dumpers: ENABLED Entry Point Ofuscation: ENABLED Resource Encryption: ENABLED VMWare compatible: ENABLED API-Wrapping Level: Level 1 Anti-Patching: None Metamorph Security: ENABLED Memory Guard: ENABLED When Debugger Found: Display Message Application compression: ENABLED Resources compression: ENABLED SecureEngine compression: ENABLED Anti-File Monitor: ENABLED Anti-Registry Monitor: ENABLED Delphi/BCB form protection: ENABLED Virtual Machine Settings ------------------------ Number of Virtual APIs wrapped: 0 API Virtualization Level: 3 Entry Point Virtualization: 0 instructions Multi Branch Technology: DISABLED Virtual Machine Processor: Mutable CISC processor Number of CPUs: 1 Opcode Type: Metamorphic - Level 2 Dynamic Opcode: DISABLED Advanced Protection Options --------------------------- Encrypt Application: ENABLED DLL plugin: DISABLED Hide from PE scanners: Standard .NET assemblies: ENABLED Active Context: ENABLED Add Manifest: Don't add manifest XBundler files -------------- MAXapp.mxf
- excelsoftwareJan 22 2015 | 11:33 pmAppProtect or QuickLicense from Excel Software can protect and license MAX application for Mac and Windows. See www.excelsoftware.com/max5 for details.
- ArabrabJan 23 2015 | 1:45 amToo expensive ...No I recommend: Charge for a demo ... and are only traders whose sole purpose is to get your money. I repeat "only" ... Spam in this forum...
- BeepMar 10 2015 | 6:44 amWould the Excel Software option work though or is it just "spam" and / or a ripoff? Has anyone used it? I'm looking for something that can deliver what it promises...
- hardcoderMar 10 2015 | 8:37 amHi Barry, we bought licenses from Excel Software. We tried out a lot of other software and tools which did not really fit our needs, did not work out of the box or we did not get a good support.Here are our surrounding conditions and what we expect from the protection software. 1) Our Algorithms are heavily based on our own C-based mxe file externals. 2) We build a prototype of our algorithm with Max. We use the Max patchers to create a signal flow between those externals. 3) We want to deliver our exported standalone app to customers. The customers shall not - under no circumstances - see our algorithm. The Problem: the app how it's exported by Max can be hacked very easily in order to recreate the original patchers. We do not consider the mxe files as a security issue. We can easily change the symbols in this dynamic library to something, which does not make sense to a hacker. 4) We use the software from excel software in order to bundle all files into one app, which cannot be hacked straightforward anymore. The licensing possibility is not so important for us during prototyping. Our main goal is to protect our algorithm.
- yerpzsApr 07 2015 | 5:17 amhelloI expected that max protected a standalone patch from abuse. I am shocked it's so easy to access a patch.Even if one freely distributes a patch, to be passed around, for none profit; there are many reasons why it should have some type of encryption: as a preventative measure to discourage hackers altering and re uploading it as v 1.1 for example. Or just knowing the inner workings easily.What I need with max is a secure and efficient translation from the max edit/presentation window to:1.vst's (pluggo was awesome) 2.apple and android apps 3.to be able insert max patches into websites.Thanks for taking this all on board. lol :)
- Source AudioApr 07 2015 | 4:21 pmIt is nonesense to pay for app protection more than what app itself sells for. I have been protecting windows standalones since max 4. There were several options with PEBunle etc etc Now there is freeware packer which works as it should. http://enigmaprotector.com/en/aboutvb.html Freeware version is all that is needed. On OSX side, I have been programming Installer, which creates unvisible directory and expands standalone there, waits for app to quit and removes it. Installer runs as faceless app. In both cases, one has to organise file structure for any storage, presets etc. outside of standalone.
- yerpzsApr 08 2015 | 7:50 amThanks SourceAudio , that's Great news. I shall check the link : )
- yerpzsApr 08 2015 | 4:18 pmHi SourceAudio. I've, been trying out the enigma virtual box.I've followed a few tutorials and can create a boxed version of a standalone .exe as the input file with its support folder, max collective and .dll files inside %default folder%.But when I open the boxed version, it is simply an empty max runtime window. The project information seems not to be present or open.Did you find this an issue when you first started?thanks for any further infos. : )
- Pedro SantosApr 08 2015 | 5:11 pmThe same. Some guidance would be greatly appreciated. Thanks.
- yerpzsApr 09 2015 | 3:52 pmHiI tried molebox and within literally 1 min built a packed version of a max standalone with dlls and support folder. fully working, it seems.So I am unsure why enigma virtual box is not working.At least molebox shows it is very easy to do...like making a zip file.a single licence is $150 for molebox. ( i think that means for one PC) needs further reading.I am sure many people are interested on finding a mac solution also.peace.
- Source AudioApr 13 2015 | 10:22 amSorry that it took so long to reply, I am on the road and don't have much time to come by here. I will post exact infos on how to include files in Enigma as soon as I get back in about 10 days. Just to be sure - mxf file must be included, and the protected Standalone shoud keep it's original name, otherwise mxf file will not be found. Another important thing is to activate "Search for missing files" in standalone object.
- yerpzsApr 13 2015 | 11:07 amthanks SourceAudio.I've been trying out 'cameyo' it takes a snapshot of the OS, then the user alters the OS , to include a max standalone , install Quicktime or other programs plugins ! Then Cameyo takes another snapshot ...and builds a runtime based on those changes.So a standalone runtime can include other program installations and plugins. wrapped up into one runtime that opens in a simple double click.pretty cool. ...but again at high cost.
- elbersteinMar 05 2016 | 6:51 pmSubscribing to this thread. I'm looking for a Windows solution. I only want to pack the app, not asking for a license etc. I've tried with Molebox (website offline) and Enigma. nothing happened, I can't run the app. Does somebody have a solution / tutorial please ?Thanks !
- Source AudioMar 07 2016 | 4:21 pmSorry that it took sooo long to provide detailed instructions for Enigma Virtual Box. Here it is : I am running Packed Standalones with Enigma Protector - freeware for years. This is the way I do it : 1 Prepare Standalone, remove unnecessary crap etc 2 Start Enigma Virtual Box and make New Project 3 On Dialog select the Standalone Exe that you want to pack 4 As Destination create new folder somewhere, name it whatever you want AND !!!! MAKE SURE THAT OUTPUT FILE NAME IS THE SAME AS STANDALONE !!! Virtual Box would auto add "_boxed" to Output File name. That would make it unusable. Now we are ready to continue.1 Add mxf File to %DEFAULT FOLDER% 2 Add New Folder and name it resources 3 Select it and Add Folder Recursive, on prompt select resources Folder of the Standalone THAT PROPERLY ADDS ALL FOLDERS AND FILES INTO RESOURCES FOLDER like init, interfaces, support etc etc.Other things to do is to check Files Options : activate "Enable Files Virtualisation", "Compress Files" and "Delete Extracted on Exit" Next to check is Options (Last menu item above Virtual Box Files Window) Activate all options, but !!! I had to uncheck "Share virtual system to child processes" in some cases, when Max App also controled system events and background processes via Shell etc ------------------ Some issues with packed Standalone could be that user on windows has no admin rights, that system is just badly configured (out of the box ha,ha), and that some DLLs are missing . The packed Standalone brings no error about missing DLLs, for that one should first test unpacked standalone and install whatever is missing. If Max Runtime is starting normaly, then Packed Standalone should be ok too. Keep in mind that any auto File reading, search paths etc have to be properly organised because packed standalone looses filepath structure, and you can't expect simple read this read that messages to find files in it's folder. Last Enigma version is 7.4 see www.enigmaprotector.com/en/downloads.html It works for me with Max 4, 5, 6 and 7 I hope that this infos provide some help.
- Source AudioMar 07 2016 | 4:41 pmUsually Visual Basic runtimes like MSVCP120.dll and MSVCR120.dll could be missing ... www.open.dll.com is usually ok to get that and drop int system32 folder
- elbersteinMar 07 2016 | 4:56 pmHi! Thank you so much for posting this detailed tutorial. I've followed the exact procedure. the MXF in "default folder" the resource (recursive) folder also in this "default folder" Unfortunately, in my case, the packed application doesn't start. I don't know why yet. There's no error message, no icon launched in the dock, nothing. I've tried to run the app as an admin, that doesn't change anything.I will investigate...
- Source AudioMar 08 2016 | 12:55 pmHi Elberstein, did You try to run the build directly from Enigma ? When Build Process is finished You can test the Packed App by clicking on Run button. That will display errors if app can't start. I don't know if maybe the way standalone object in the main patch is configured could come into account. Search for missing files is must be activated . Depending on Max Version this settings are named differrently, like : usesearchpath, make application subfolder search path, etc Just verify all settings in the Standalone object.
- elbersteinMar 08 2016 | 1:03 pmYes, I've tried directly from Enigma. The only errors were in the Windows log (error 1000 if I remember correctly) The standalone was correctly configured. But there's a problem with this object in Max 7.2, the settings are not always applied
- elbersteinMar 11 2016 | 12:11 pmHi SourceAudio, After several tests, I still can't get it to work. I'm using Windows 10, do you think that this could be the problem ? I'm not familiar with Windows, it's an install on Bootcamp. Thanks.
- yerpzsMar 11 2016 | 3:27 pmsad to see molexbox down. I was hoping it was still available the website was registered for another year, not to long ago.A couple of links if you haven’t found them. forum http://forum.enigmaprotector.com/ firstname.lastname@example.org
- elbersteinMar 11 2016 | 5:01 pmYep, I've just tried with an equivalent called BoxedApp and the result is the same.... So... I guess I will release the Windows standalone just as it's packed by Max, with the . mxf etc. There's no crazy algorithm that would need protection, that's not a big deal.
- yerpzsMar 11 2016 | 5:17 pmWhat about cameyo?
- yerpzsMar 11 2016 | 5:21 pmcameyo worked for me. i think there is a free version.molebox: Their site appears to be an admin error , i dont think they have shut shop, so to speak,. because they would not leave it as "cgi bin" they also updated their domain subscription to 2017. maybe you can find their email?molebox is great works with max standalones , but not free. if i remember correctly.
- elbersteinMar 11 2016 | 5:36 pmYes I saw Cameyo, but their licenses are not cheap for commercial use. I've found an old version of Molebox, but even if I can get it to work, I'm wondering if it is really safe to distribute these "boxed" softwares ? (stability, compatibility...) I mean that my experience , trying to create the package and opening it was not very concluant yet, so... ^^ You said that Cameyo worked for you, does it mean that you distribute Windows standalone, commercially ?
- yerpzsMar 11 2016 | 8:44 pmI simply tried cameyo on a max standalone for fun and it worked must have been a year ago now...i can remember i was impressed with it but preferred molebox for my needs.I hope to distribute a few patches later on, hence i've been posting in this thread and am back saying hello.With molebox the demo I had only worked on the machine I built the protected runtime on, any other machine i opened the file from, there was a pop up that either slows down the experience or it simply does not work? I cant remember. but molebox is not free, it does however compress the file down very nicely. I was very surprised how a large max patch i had created became so small in size. hence i am interested in molebox and am hoping it will be available again.i shall post here if i find anything more..
- Source AudioMar 12 2016 | 9:45 amI don't use windows 10, just 8 & 8.1. So maybe windows 10 is the reason. But, why don't You try to pack some other EXE file and see what happens ? Like make a copy on Notepad.exe, name it whatever.exe, pack it and see if it runs.
- elbersteinMar 12 2016 | 10:59 amThank you for your answer. The result is the same: impossible to open the boxed app (notepad_boxed.exe). This time, for security reasons (logged in the console, but not displayed) and not the error 1000 that happened with the Max standalone. I'm gonna try to contact their support. But once again, it's not a big deal if it doesn't work...
- Dan NigrinMar 27 2016 | 9:01 pmI wanted to say thanks @Source Audio - your instructions worked perfectly for me. I'm using Max 7.2.1, running on Win 7 (within Parallels on a Mac).Only thing that I will have to fix is the path to my documentation pdf, which I usually include in the app bundle. I'm sure I will be able to figure it out, but if you have any tips those are greatly appreciated.Makes things so much cleaner for distribution of a polished standalone - thanks again!
- Dan NigrinMar 27 2016 | 9:29 pmHmm, following up on this. So my .pdf is usually placed in a folder I call support, within the app bundle on the Mac, and on Windows, this folder just sits at the same level as the new resources folder. I should probably update my practice to use one of the new-in-Max 7 resources/support or resources/misc folders, but I haven't gotten around to it yet.So when I invoke the command within my app to launch the URL that points to the .pdf, Adobe Reader successfully opens, and Max does not complain at all. But then Adobe Reader *does* complain, saying it can't find the file. Presumably this is because it's buried within the "box" somewhere. Any ideas on how I can make Reader see this file? Or do I need to make my app's installer put the documentation somewhere else in the file system, outside of my app (don't want to do that if I don't have to).Thanks in advance...
- elbersteinMar 28 2016 | 12:52 amYes, the tutorial provided by SourceAudio is very valuable. I Still don't know why, it doesn't work for my simple app. I suspect Windows 10 though :) Sorry Dan, I cannot help with your PDF issue, I'm just answering because this thread is interesting. I've discovered that I cannot even embed a font like Lato (included by default in a Mac standalone) in a windows standalone, for me that was a "deal-breaker". Eventually I chose not to release my app for Windows. But now, I might invest in a copy of Parallels and find a copy of Win 7...
- Source AudioApr 04 2016 | 11:02 amThe question about including files into App... Hmm I allways used some specific path, specialy for files that need to be read and written to disk. Like C\\:My App Files/ etc Even creating folder by app itself and putting files there is no problem. The fact is : everything that is bundled by Enigma is not visible to other apps. So it is not possible to bundle Pdf file and have Adobe Reader open it. One could just place it besides the Standalone in the Folder it sits in. That works without problem, because Path to Standalone remains same as with original App. And Elberstein, one can't trust that Enigma Protected App will work on every Computer. I am bundling Apps just to make it easier for my customers, and to avoid mistakenly deleted dll or anothe little thing which makes App unusable. I deliver Bundled Apps only to known customers an their Computers for which I also prepare OS for optimised Max usage. Otherwise, with all that crap that goes on in Windows It would be difficult to go on stage with it .
- Dan NigrinApr 04 2016 | 11:08 amThanks Source Audio - I'll probably do what you suggest and put the .pdf next to the standalone.Thanks for the reply and again for the detailed instructions on using Enigma.
- SpaApr 04 2016 | 8:51 pmHi Source Audio, I switched to Windows 10 (for openGl speed) after years with Max on osX. So i'm not so knowledgebla with 'cleaning' the system I will be really interested in knowing which crap processes you scrap from your windows 10 OS. Like net calling, etc... Thanks
- elbersteinApr 04 2016 | 9:08 pmFor info... I've been talking with the creator of BoxedApp and he successfully packed the Windows standalone I sent to him. The newest release of BoxedApp, allowing to do that without a bug will be released tomorrow. Here's what he replied. To be honest, I don't understand much. I only understand that there's a kind a conflict with the midi external (?)
" talking about original exe, one 64-bit dll (midi_dm.mxe64) is always loaded at the range 0x00000000 - 0xffffffff. In fact 64 bit DLL may be loaded starting from virtually any address, including, of course, addresses that occupy more than 32 bits. Due to some reasons midi_dm.mxe64 are not loaded at high addresses doesn't matter how many times I loaded original exe. I think it's just a fortune: e.g. preferred image base is occupited and Windows tries low addresses. And it's (32-bit image base) important because another module of the application (Max runtime I do suppose) casts an address of some function inside midi_dm.mxe64 to 32 bits. If the DLL is loaded at low address, that's ok: no changes, but if it would be loaded higher? In case of packed exe it can be loaded higher and due to mentioned strange cast, an invalid address was going to be executed. That lead to access violation.Uh, ok... Before that, I've tried again with Enigma under Windows 7 on Parallels and the app crashes. I have another problem with Windows now (related to Midiout and/or pattrstorage) so, packing the app is not top priority for me anymore, but that's just for information :)
- Source AudioApr 06 2016 | 8:46 amShaping OS for optimised Max usage depends on what Max app is supposed to do. I am treating Laptops for my customers as machines, removing all "normal" computer stuff. So no Internet, no Updates, no Security Center, no Virus detection, nothing but bare bones OS with drivers for Hardware , and just Services that Max app needs. To go into detail would take long time, so here is just procedure in general. 1 First remove Installer items from Windows ISO that are definitely not going to be used ( using for example ntlite or similar) 2 Create new ISO and Install it 3 Trimm system further by applying optimised Settings, and disabling Services that might need to be activated at some later point, like windows Installer etc. In days of XP that ended in 200 - 300 MB size operating system, really fast Windows 8 is better than 7 but needs more work to get it in proper shape. On Mac side same thing - No Spotlight, no Automatic Updates, Time Machine etc etc Another thing I try to do is to use oldest Max version that does the Job, and oldest Operating System that does the Job. Freeze that and You get Machine that would serve for years...
- SpaApr 06 2016 | 3:08 pmThanks Source AudioI've got difficulty changing the name of the app that appears when placed in the DOCK in windows 10. it always shows : Max (64 bits) or Max (32 bits)i tried to edit the app with : XN Resource Editor , but no luck Do you know of a solution Thanks
- elbersteinApr 06 2016 | 3:34 pmAfter all this, if it works, can you "codesign" the app or not ? I still have the access violation error and the app crash, but I've contacted the support. So, hopefully... :)Thanks
- Source AudioApr 06 2016 | 4:32 pmOne has to do any customising of Standalone BEFORE packing it with Enigma or any other Packer. I use XN Resource Editor sometimes, but find Resource Hacker better. Adding Custom Icons, Version Infos etc get's done ok. Also editing Manifest, to for example run as Admin can be helpful.
- Dan NigrinApr 06 2016 | 5:39 pmI use XN Resource Editor to modify copyright, version, etc. info. Don't need to mess with the app name or icon there, as my results after building the app don't require it. You do know about the appicon command in the build script, right? In the Build window, click the "Include File..." button, select your .ico file, then substitute the word "include" with "appicon" in the build script before building.
- SpaApr 06 2016 | 8:22 pmYep i know about appicon, etc ... it's just that when you pin the app to the task bar, and you hover on, it, always shows Max (64 bits) instead of the name of the app. I tried to find this piece of text "Max (64 bits)" in a field of the app properties with XN Resource Editor but I cant find it. In the finder, the app shown is correct.
- Dan NigrinApr 06 2016 | 8:38 pmInteresting - at the risk of de-railing this thread even further, since I don't have a Win 10 system to test on, would you mind downloading a demo of one of my apps to see if it displays the same behavior? For example try Cyclic: http://defectiverecords.com/cyclic/If it works properly, I can try to let you know the steps I've done to help with yours...
- SpaApr 07 2016 | 12:05 amHi Dan, Thanks. Your app shows the right Name in the dock (Cyclic Demo). i'm not using Enigma. Just creating an app from Max7. Yes you're right , i'm going to start another thread. But cycling is rarely responding on this kind of system issues. So I en-railed your knowledge...
- Dan NigrinApr 07 2016 | 12:25 amJust put a pointer here to the new thread once you start it - would be happy to help as much as I can.
- elbersteinApr 08 2016 | 10:39 amHi Dan, I like what you've done with the Cyclic Step Sequencer. Can I ask you how you've created this installer please ? The workflow is cool, and it's a much better like that for a customer than opening the app folder, finding the .mxf and the resources folder, etc. Best regards,
- Dan NigrinApr 08 2016 | 11:08 amHi Elberstein,For Windows installers I use Nullsoft's Scriptable Install System (NSIS) - it's open source and available here: http://nsis.sourceforge.net/There's definitely a bit of a learning curve, but it's very flexible and can do pretty much anything/everything you'll need.Although it's a bit dated and some things have changed, there might still be helpful information in this presentation I gave at Cycling's Expo '74 presentation back in 2011, called "Making a Slick Max Standalone" - the slides are available here: https://cycling74.com/tools/making-a-slick-max-standalone-presentation-from-expo-74-workshop .Dan
- elbersteinApr 08 2016 | 12:04 pmHi, Thank you very much Dan. With NSi and the HM NIS Edit wizard, that was really quick !A bit off topic, but: Do you use a EULA for the softwares you sell ?Have you found a solution for the custom fonts in Windows ?Thanks again.
- Dan NigrinApr 08 2016 | 12:13 pmHey, I learned something - it's been ages since I actively looked at NSIS (I just use an old version and scripts that I developed years ago) - but this HM NIS Edit Wizard thing looks cool, didn't know such a thing existed!No, I don't bother with a EULA. I've been fortunate over the years that for the most part I have not significant problems with piracy or other legal issues involving my software. Of course I've probably just jinxed myself. :-0Re: custom fonts on Windows - not aware of the problem?
- elbersteinApr 08 2016 | 12:19 pmthis HM NIS Edit Wizard thing looks cool, didn’t know such a thing existed!Oh yes, it's great, in three minutes, you can add a custom license, an icon, company name, startup item etc.Re: custom fonts on Windows – not aware of the problem?Oh, yes, that was a reference to this old thread. https://cycling74.com/forums/custom-font-in-windows-standalone/ But maybe it's not possible with Windows.
- yerpzsApr 08 2016 | 12:24 pmHi DanI managed to get your cyclic demo to work on windows xp service pack 3 looks fantastic, and fun to use : )I also had it partly working on linux ubuntu with wine. on linux the sequencer play button works, the leds light up. it seems fine, .but when i go to select an output device, wine crashes.I wonder, what version of max msp did you use to make this?Probably a daft question : why is it an installer? why not just a max runtime standalone? is that to simply have it in the program menu?thanks : )
- Dan NigrinApr 08 2016 | 1:14 pm@Elberstein - so funny re: the fonts question, I'm the one of the people that posed it! I had zero recollection of that.... What I did in the end is just used pictures of the text I wanted displayed, rather than using a custom font.@Yerpzs - too bad on the Linux w/Wine thing, would've been cool. The latest version of Cyclic was built using Max 6.1.9 (you can see how the builds have progressed over the years in the Version History in the documentation .pdf)Re: why an installer on Windows - I just think it's more typical of what Windows users expect from applications, for there to be a "real" installer, entries placed in the Program menu, Uninstaller capability, etc... Sure, I could have just provided a .zip of everything required, but felt this approach was closer to what other apps provide. Depending on your use case though, it may be overkill.
- elbersteinApr 08 2016 | 1:20 pmI totally agree about the installer, the .mxf file and the resources folder won't be hidden, but it's more comfortable for the end user.I wonder how Max deals with images for Retina and HD screens (is there a kind of email@example.com like for web design ) , I should try images for my next standalone :)
- yerpzsApr 08 2016 | 7:23 pmi am very impressed with your installer, i didn’t realise we could do that. the Ubuntu attempt may have crashed as i had no outputs configured? I'm not an expert on wine. it was great to see your demo actually load though and have some functionality : )
- elbersteinApr 08 2016 | 7:31 pmGreat thread. We should create a kind of wiki or another thread compiling all the resources. Dan, your instructions regarding the Max interface JSON were really helpful to remove the menu elements "save , open etc". :) Oh, by the way, the latest version of BoxedApp virtualizes the app with no effort. But unlike Enigma, it's not free. I haven't sold enough Mac versions yet, but maybe I'll buy it someday. Now investigating about Code signing with Windows... I already pay 99$ / year for Apple. I wish I could use the same certificate for Windows ^^
- yerpzsJul 11 2016 | 10:55 pmI just tried boxedapp 'packer' windows demo, it worked very well on a basic standalone test patch.There are three flavours of boxedApp. i have yet to try the the other two.Did anyone figure out how to pack a max stand alone on a MAC yet ?
- Dan NigrinJul 12 2016 | 11:24 pmWell, by definition on the Mac they're "packed" already, in the app bundle. But I assume what you're after is some way to encrypt the contents? I've not seen anything like that before...
- elbersteinJul 12 2016 | 11:56 pm+ 1. Like Dan Nigrin said. On Mac, it's easier to create a .dmg and distribute something "clean". It's also quite easy to create an installer for Windows, but in both cases, it's almost impossible to "protect" the original code if that's what you want to do. Off-topic : If you sell it at a correct price, less people will steal it. just my opinion & experience ^^
- yerpzsJul 13 2016 | 12:28 amI only work on windows, but i was hoping to make my project work on mac too.yes i meant to compress the mac standalone and encrypt too.just like molebox and boxedapp does on windowsthanks : )
- Jindong MingOct 16 2018 | 9:58 amboxedapp +1
- KDrzApr 02 2019 | 2:57 amReviving this thread, although my knowledge is much more sparse. I'm a Mac user but trying to distribute an app I made to help my students track their credits in the major, and many of them use PCs. I ran into the same issue described above when trying to use the windows app on another computer (using Windows 10): all that opens is an empty Max Runtime window.Earlier, I had tried to open the app on another PC and got the missing dll files error, and put those dlls in the app's root folder. I don't know if that's what screwed up the app or not.I don't want to protect/encrypt any of my stuff, it's not revelatory, just an easier way for students to track their credits. But would packing the app in this way fix the empty runtime window issue? Many thanks in advance for your help.
- Source AudioApr 02 2019 | 7:11 amMy first advice is make Max 7.3.5 32 bit standalone, even that most PCs run 64 bit system today, there are still people running windows 7/8/10 32 bit. 64 bit system runs 32 bit apps, but not the other way arround. Putting DLLs in the Standalone folder is right place, but they have to match the architecture. If You want, I can post all DLLs that possibly might be needed zipped. Enigmavb & Max 7.3.5/32 with proper standalone settings works like a charm.
- KDrzApr 02 2019 | 4:47 pmThanks Source. I did make a 32-bit standalone for that reason. When you say DLLs in the Standalone folder, you mean the folder within the .exe once it's built, and not inside the Max project folder or anything, correct? Since I'm not sure what you mean by matching the architecture, that would be great if you could post all the DLLs in a zipped folder. I had included the Visual C++ Redistributable dlls from 2013, 2015, and 2017 but that might not have been sufficient, or I might not have packaged them correctly. Much appreciated.
- Source AudioApr 03 2019 | 6:21 amDLLs should match 64 or 32 bit Max Version, that's what I mean by matching architecture. Placing them next to EXE is right place. Here is set for Max 6.1.10 : https://files.fm/u/4t2t88up and for Max 7.3.5 : https://files.fm/u/j79fgjr5That's all DLLs I ever needed to load any 3rd party external.
- KDrzApr 03 2019 | 8:43 pmHi Source - thank you so much for the DLLs. I followed your above instructions with Enigma Virtual Box, placing the DLL next to the standalone exe in the file structure, but still get just an empty Max Runtime window instead of the actual app opening. Any advice?
- Source AudioApr 04 2019 | 6:45 amAs first app must be tested before bundling it with Enigma. If it runs ok, than one can proceed. Standalone showing only Max Console is usually a sign that mxf file can't be found. Standalone name and mxf file name must exactly match. If You want I could build it for You, just send me the patch and any custom file in use, like picture or whatever. Maybe the problem could be detected that way...
- yerpzsApr 04 2019 | 8:48 amI remember using one of these box encryption programs and I could not change the name of the standalone or something odd like that ( i had to save the encryption bundled app with the exact same name as the standalone ) otherwise I would get a similar issue.Try make a bundled app with a very basic stand alone , just with a message box in it to test. save with the same file name . See if it fails then. You could also do a screen capture (no narration required) of your procedure and we may spot your issue.
- KDrzApr 05 2019 | 2:26 am@Source and @Yerpzs - I was able to get it to work. I hadn't properly placed the .mxf file in the bundle. I really appreciate all your help.
- yerpzsApr 05 2019 | 4:56 amAwesome ,well done!
- Alessandro AruffoMay 11 2022 | 9:55 amHi, I'm trying to protect a Standalone app in Mac and Win 11. First of all I''d like to understand how to do it on Mac. I have no idea where to start. Any suggestions ?