2
This is the situation. We have a Synology NAS (running DSM 5.0) hosting a Windows file share called general
. This folder's permissions are set as in the screenshot:
This folder is used as a mapped network drive on Windows 7 (32-bit) clients (mapped as Z:
). No authentication is needed for this share. I.e. everyone can access it.
A legacy Microsoft BASIC 7 program houses on this mapped drive. This program itself (say PROGRAM.EXE
) functions correctly. It runs, can create files and folders, etc. No problem there.
The problem rises when the program creates a temporary file (say INVOICE.TXT
) and then tries to launch another process, that is printing the created text file in a nice way. According to the program's developer, it uses SHELL Z:\INVOICE.EXE
to launch this process. What the program shows when this is executed, is: Access denied
.
The weird thing is that when I run INVOICE.EXE
manually from Windows Explorer, all goes well (i.e. the invoice is printed).
I'd like to add that when both programs are on a local disk, or on a shared disk of another Windows host, all goes well.
I have no clue what is going wrong. What I've tried so far:
- Disabled UAC.
- Added the IP address of the Synology to Internet Explorer's trusted websites.
- When both programs are on a local disk, all works well.
- When both programs are on a share of another Windows machine, all works well.
- Ran
PROGRAM.EXE
as an administrator (this worked only after sharing mapped drives with all users). Changed the permissions of the folder as shown in the screenshot. Its directory contents look like this now:
synology> ls -l /volume1 ... drwxrwxrwx 33 guest users 4096 Oct 2 14:28 general ...
All subfolders and files have the same permissions. The accompanied
synoacltool
shows this for the folder (and subfolders + files):synology> synoacltool -get /volume1/general ACL version: 1 Archive: has_ACL,is_support_ACL Owner: [guest(user)] --------------------- [0] group:users:allow:r-x---a-R-c--:---n (level:0) [1] everyone::allow:rwxpdDaARWcCo:fd-- (level:0)
But all without getting it to work...
Is PROGRAM.EXE able to successfully run INVOICE.EXE when the NAS is not involved? For instance, copy the programs and any necessary data files to your desktop, unmap Z:, and instead map Z: to a local partition (so the BASIC program doesn't need to be changed to call INVOICE.EXE from a location other than Z:). That might help isolate whether the NAS is contributing to the problem or not. – Nick Russo – 2014-10-09T14:55:50.083