CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Mac
Discussion about CrossOver Mac

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

File locked by operating system

Hello

I am using Crossover for Mac specially to support the development of it and the ability to get rid of Windows :)

I use Windows 7 practically only for gaming purposes. Being a strategy and warmer, I play rather obscure games, but two of my favourites (Rule the Waves by NWS and WW2E by Schwerpunkt) run flawlessly under Crossover.

However, Ageod games, specially AJE, do not run. These are turn based games, and in terms of gameplay and graphics everything is ok. The issue arises when I try to run a turn. The game does not allow me, stating that "a file is probably locked by the operating system". Under Windows this sometimes is caused by not having Administrator rights or by UAC because on turn processing the game exe writes new files (for replay and saves) in the game directory.

I suspect that OsX is impeding the game exe to write new files, even under the Crossover wrapper.

Anyone has stumbled with a similar problem or has any idea how to circumvent this issue ?

Thanks in advance

OSX shouldn't prevent the creation of a file, since everything in C:\ is inside your home directory, owned by you. I suspect that the error message is simply inaccurate, but it is also possible that a file operation goes wrong for a different reason, e.g. trying to create a file in a deleted directory, or the game trying to create files in Z:\, which points to the unix root.

You can try to record a +file log and see if you see any failing operations in there. Be warned though that such a log is likely to get HUGE. It's best to run the game in a window and live-read the log in another, that way you can locate the place where things go wrong more easily than if you have to find out which lines are from the error and which lines are from the game terminating.

https://appdb.winehq.org/objectManager.php?sClass=application&iId=14538 suggests that there's an update to the game to version 1.01 that fixes a bunch of problems. Did you install it?

Thanks

I am using already version 1.04 of AJE...

Anyway, thanks for your help

It's been forever since I tried this game, but I recall running into the same thing. When I tried doing a simple +seh,+tid log https://www.codeweavers.com/support/wiki/mac/mactutorial/submittechsupportlog the problem disappeared. Some sort of timing bug I guess.

Hi

I just wanted to give some feedback.

I solved the issue.

The cause of the problem was that the game (Alea Jacta Est) writes saves, logs and scripts to folders located in the game root folder. This under native Windows 7 with UAC disabled and running as admin causes no problems. But Crossover/OSx would not allow it.

The solution was to "tell" the game engine (by a simple trick that the game dev told me, just adding an empty userpath.ini file on the root folder) to put the saves, logs and scripts written each game turn on users\My Documents. That solves it.

Now, the question is: why does Crossover handle differently the write permissions of two folders it creates in the virtual C:\ drive of the game bottle (Games and users) ? Why does it behave as stupidly as Windows with UAC On ??
Or, to put it in another way, is there a way to tell Crossover to allow write actions on C:\Games ??

Cya

This is a good question, the behavior you see is not the intended behavior. Because the virtual C drive is inside your Unix home directory you should have write permissions everywhere.

I can think of a few things:

) The game accidentally tries to write to Z:\ instead of C:. Z:\ points to the Unix root.
) You moved the bottle around or accidentally changed permissions of its drive_c folder.
) The game accidentally made its install folder write protected.
) It is an entirely unrelated bug and the error message happens because the game's error handling is fooled by an unexpected error.

Thanks for your time.

Regarding your points:

*) The game accidentally tries to write to Z:\ instead of C:. Z:\ points to the Unix root. --> if it does I have no idea why it should be doing it... I am running on Mac

*) You moved the bottle around or accidentally changed permissions of its drive_c folder. --> I did nothing. I simply installed the game using crossover menu, creating a windows 7 bottle. I changed nothing from the defaults

*) The game accidentally made its install folder write protected. --> in native windows (admin off, UAC off) the game folder is not write protected. But in crossover C:\Games is apparently write protected (why ??)

*) It is an entirely unrelated bug and the error message happens because the game's error handling is fooled by an unexpected error. --> I don't think so, again because if it was, my solution would not be consistently working.

So, I guess this is something Codeweavers could try to fix. Apparently it seems Crossover handles C:\Games as Windows 7 (with UAC ON and without admin rights) does, which is very strange ??

thanks

What are the Unix permissions on C:\games? CrossOver itself has no UAC-like feature, but if your user doesn't have write permissions OSX will prevent you from writing to it. And if the application asks us to remove write permissions from a folder we'll tell OSX to do so.

If you're unsure how to view or change Unix file permissions I can make Caron, Balfour or Vince aware of this thread and they can give you more user-friendly instructions that I can.

Hello

I have indeed no idea how to check Unix permissions on Crossover, so any help appreciated

Thanks

Well...

My first thought is, when CrossOver creates a folder, it inherits the parent folder's file permissions (as in, CrossOver usually only does what it's told to do and usually has the equivalent of admin privileges). My guess would be that if you change the permission on that folder and it's content (if it is wrong), you would find that the game works. That assumes that everyone got the correct permissions.

Let's start there.

In CrossOver, first turn on your bottle view (it's the button in the upper left corner of the window with three wine bottles on it).

Then, select the bottle with Alea Jacta Est installed in it and then launch "Run Command..."

Open up the "Debug Options" section and click "Open Shell".

At this level, you should be able to do "ls" in the terminal (no quotes) and see the contents of the "C:" drive. I presume this is the level where your "Games" folder will be located.

Now, do an "ls -l" on this location (no quotes again) to see the permissions on each folder. The permissions here should be reasonable, something like:

drwxr-xr-x

and then, anything in the "Games" folder should be similar. "cd Games" should get you into the Games folder and you can perform the same ls -l command.

If the permissions are strange, you can do this:

sudo chmod 755 filename.txt

This will give read/execute status to the file for running and read/write/execute status to the file for the user (you).

Please do so with care. My instructions are brief, if you would like to read a more detailed explanation, that is available here:

 http://www.techradar.com/us/how-to/computing/apple/terminal-101-file-permissions-1305647

My second thought is that the game is missing a component like MSVC++, this would be very apparent in a log file with no flags. You can use the link that Balfour gave:

 https://www.codeweavers.com/support/wiki/mac/mactutorial/submittechsupportlog

And send it to our Support Team (with reference to this thread), and they can take a look for you.

Hi

Thanks for your time
I followed your instructions

I have "drwxr-xr-x" as permissions for all folders of the game installation

I ran the debug and created the log file, but, even compressed, it exceeds the max size allowed by tech support form...Any other way to send it ?

Regards

Sure. Upload the file here:

 https://www.codeweavers.com/xfer/toobig/  
 access code: m5fhWsBt

Then, respond back here (or create a Support Ticket to say the file has been uploaded).

Thanks, I just uploaded the log file

Please note that the application in question is now "Hannibal, Terror of Rome" (HAN.exe). It is the same game and engine of Alea Jacta Est, I just tried it in a new reinstall under Crossover, to exclude some fault file with the other game installation.

The issue is exactly the same as I describe above

Thanks

(Edit: I just noticed that I uploaded the file as is, i.e., named "newlog.cxlog.zip". Should I upload it with another name ?)

I cannot find anything obvious in this log. There are a number of exceptions, but those could be intentional game behavior. There are no lines about file operations. Maybe adding +file to the log shows something. You can remove the d3d log channel since the game is rendering correctly.

1 to 15 of 15

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzA4NjEzODE4LCJjc3JmX3Rva2VuIjoiYmNCVFlZUTlLdlVud2ZicCIsImdkcHIiOjB9