02-21-2018 08:52 AM
I have a PowerShot G7 X II and use the Image Transfer Utility (ITU) to transfer images via Wifi from the camera to a Win10 pc.
My intent is to transfer images to the standard windows directory for images shared among all pc accounts, that is C:\User\Public\Pictures, so all family members (all of whom have a personal account on this pc) can see and use these photos.
In fact, all photos I manually save in this location are indeed accessible by all family memebrs, however images saved by the ITU are NOT. That is, all photos I transfer with ITU are correctly saved in C:\User\Public\Pictures but the security permissions of the files allow access only to me (that is, the account I used to run the utility) and are inaccessible to all other family members.
Note that the Windows ACL (security permissions) for that folder are the windows default ones, that is, allowing access to all accounts and with subfiles and subdirs inheritance enabled. So any new files created there should receive the same permissions and be accessible by all accounts. But ITU saved phots are NOT. In order to fix their permissions I need to right-click the public picture folder and click the button to re-apply inheritable permissions to all subfiles/folders.
After some investigation I have found that the ITU actually first creates the downloaded photos in a temporary directory under my account (C:\User\myaccount\AppData\Local\...) and after the download is completed, it moves the file in the final destination folder. When it first creates the file in the temp dir, since that's an account specific temp dir, it has access permissions ONLY for the current account (which is OK). When the file is moved to the final destination, it should inherit the configured permission for the destination, but this doesn't happen.
It seems this is caused by how the file is created in the destinaton folder,i.e. it is actually moved there and not copied and the destination is on the same NTFS volume. Depending on how exctly the file is moved, Windows may or may not update the file ACL. See e.g. this discussion (the fourth point and big quoted paragraph) and this possible solution.
Have you seen this same behaviour or is there any known workaround? Is there any hope to get ITU fixed?
03-09-2018 05:57 AM
I have contacted Canon support, however up to now (after 6 emails) they keep misunderstanding the problem and claiming that, "if you want a directory to be accessible by other users, you have to give those permissions yourself". I have already answered twice that the directory already has correct permissive rights (and that, in fact, those permissions are even Windows's own default for the C:\User\Public\Pictures" dir), but up to now they still don't seem see the issue with how they "save" the transfered images.
03-09-2018 08:51 AM
If there seems to be trouble in conveying the specifics of your issue via email, we recommend calling our friendly support team instead. Talking live with one of our friendly agents could be beneficial, and the real-time assistance could help you reach a resolution faster without having to wait for email correspondence.
You can reach our PowerShot camera team weekdays from 10 AM to 10 PM ET (7 AM to 7 PM PT) at 1-800-OK-CANON (1-800-652-2666).
We look forward to your call!
08-23-2019 04:40 PM
I solved it!
Change the permissions on the hidden folder where the images are first created. Which is [username]/appdata/local/temp/ImageTransferUtility
I'm not sure how many share permissions are required, I just set that directory to share with "everyone", permissions set to "read/write", and special permissions I set all child objects to inherit the folder's permissions. Maybe all that isn't necessary, but now when the images are created in that hidden folder they are created with permissions to share across the network. Then the utiility moves them as soon as they are created to whatever folder you directed it to when you set it up.
Maybe someone can experiment with the minimum sharing security needed, but this worked.