I want to put the client’s chosen app name as the Product Name and then use that name everywhere in the output. How to do it?
Do you build a new executable for each client?
Add a constant, and change the value before compiling.
Or put the name into a file, and install different files for each client.
If they can choose at runtime, save the name as a preference setting somewhere, and read it at startup.
Only compiling afresh for each client , together with a related installer, will get you icons that match (without some interesting API/DLL calls…)
Thanks, Jeff. Yes, I do what you suggest.
Have just realized that I can use a dummy client name everywhere in my code, icon references, Product Name, etc… Then copy the source code folder and rename the copy to the client name. Then global replace the dummy client name with the actual name in every file in the client folder. All this is very fast with no mistakes
I have an IDE script to change the app name etc with a constant:
ConstantValue("App.kMaxVersion") = MaxVersion
if ConstantValue("App.kMaxVersion") = "0" then
PropertyValue("App.Application Identifier") = "com.mothsoftware.mailarchiverx"
PropertyValue("App.MacOSXAppName") = "Mail Archiver X"
PropertyValue("Build Automation.Mac OS X.CopyValentinaLicense.Applies To") = "3"
elseif ConstantValue("App.kMaxVersion") = "1" then
PropertyValue("App.Application Identifier") = "com.mothsoftware.mailarchiverxpro"
PropertyValue("App.MacOSXAppName") = "Mail Archiver X Pro"
etc.
With copy-and-paste it’s easy to screw something up.