Last post Apr 10, 2011 06:24 AM by merlintintintin
Mar 30, 2011 09:48 AM|merlintintintin|LINK
I have deployment project of my web application in which I add some security on files.
FileSecurity fSecurity = System.IO.File.GetAccessControl(fileName);
This code works properly on WS2003 32bits, WS2008 32 bits but not WS2008 64 bits (Code is executed, no exception is generated but NETWORK SERVICE is not set on file).
When I execute this in simple test exe on WS2008 64 bits - this works also fine .
The only difference in my code of the installer is property: TargetPlatform = x64
I dont found any help on internet.. help would be very appreciated - i'm perplex on this...
Apr 05, 2011 05:52 AM|XiaoCheng Fan - MSFT|LINK
As far as I know x64 dll may placed in SysWOW64 folder if there is an x64 system.
If you are using x86 dll files in references please set TargetPlatform = AnyCPU.
I'm looking forward for your test result.
Apr 06, 2011 04:13 AM|merlintintintin|LINK
Thank you for your help.
In fact msi installer copy DLL in :
- windows\system32 where security file are not changed by msi
- windows\SysWOW64 where security file are changed properly by msi
Note that file is DLL extension but is not really a real DLL, it is just a binary file not compiled.
I cannot use TargetPlatform = AnyCPU because if I'm using this option : dll is copied in system32 on 32 bits system and copied in SysWOW64 in 64 bits system. but I need to have always my files in system32 (because my website is using this path only).
Apr 08, 2011 05:26 AM|XiaoCheng Fan - MSFT|LINK
As far as I know, you can try to exclude this file from web setup project, then add a custom action which copy this file to system32 folder.
I hope this can be helpful for you.
Apr 10, 2011 06:24 AM|merlintintintin|LINK
Yes, it could be a good option. I will look in this way.
Thank you for you help.