Accessing Resources folder

Is there a simple way to find and access the Resources folder? This has become a problem of late since the Resources folder can be named differently across platforms now.

For example, on Linux and Windows it’s called “AppName Resources” but on the Mac it’s called simply “Resources”. (It always used to be just “Resources” and I’m not sure when this changed.)

There is no entry in SpecialFolder, so any suggestions?

it’s worth noting that you still can use just Resources on Windiws and Linux if you want. The reason for the change to the default behavior was for the users that have more than one app living in the same folder, without a shared resources folder.

I’m fine with that change, I think it’s a good one. I’d like to see the same change on the Mac too, but still need an easy way to find the “right” folder.

On Windows, the issue came from people having several executable in the same folder.

On Mac, the only place where it would make sense is for Console, as in Desktop each executable is nicely tucked inside its own bundle.

Yes, the console is exactly where the problem appeared. We have a server app that can be deployed to Mac or Linux. We just noticed that it was using an outdated file because the new deployment contained both “Resources” (old) and “AppName Resources”.

I’m working on code right now to use a placeholder file in Resources to locate the right folder, but that’s a stopgap solution.

[code] dim resourcesFolderName as string = replace(App.ExecutableFile.Name, “.exe”, “”)+" Resources"

dim resourcesFolder as FolderItem = app.ExecutableFile.Parent.Child(resourcesFolderName)[/code]

I’ll have to fire up Windows to test, but does that mean that, during debugging, it will be called “AppName.debug Resources”?

Yes indeed. Actually I tested that in debug mode, and it opens very nicely the DebugMyApplication Resources folder with Launch.

So I’m sure, no “.debug” in the name?

There is. The temporary enclosing folder for the debug is DebugMyApplication, and the Resources folder is DebugMyApplication Resources.

No dot as in Mac.

Thanks Michel.

Just to be clear, on the Mac it is:

app.ExecutableFile.Parent.Parent.Child(“Resources”)

for both Debug and Release builds?

I changed from not using the builds folder to using it a couple of weeks ago and it has changed some things in both setup scripts and code. Thanks.

[quote=233044:@Merv Pate]Just to be clear, on the Mac it is:

app.ExecutableFile.Parent.Parent.Child(“Resources”)

for both Debug and Release builds?
[/quote]

That is correct.

You may want to get Tim Parnel’s TPSF at https://forum.xojo.com/15318-modules-for-you that helps with this kind of thing.

Thanks, Michel, I will check it out!