|
Hi,
I would like to ask how can I write to LOCAL_MACHINE registry from my .NET application when the window user is limited user?
Can I write with Administrative Privileges?
Thanks,
Jassim
Technology News @ www.JassimRahma.com
|
|
|
|
|
You can only use administrator privileges if you are running under an administrator account. If you are running under an ordinary user account then you need an administrator account password to allow it.
|
|
|
|
|
No you can't. If you pause and think about it for a little while, you can see that it makes sense because you would end up exposing a large security hole if you could do things with your app that the user doesn't have the privileges to do.
|
|
|
|
|
but how can I make the changes by prompting the user to enter the administrator user id and password and if successful the use it to make the changes?
is this possible?
Technology News @ www.JassimRahma.com
|
|
|
|
|
Jassim Rahma wrote: is this possible? Possible yes, sensible no. What happens if the user is running in a non-administrator account and does not have access to the administrator password?
|
|
|
|
|
It won't be the case because the person who needs to change myst have the administrator password.
So how can i implement the administrator user id and password prompt?
Technology News @ www.JassimRahma.com
|
|
|
|
|
There is nothing to implement, Windows does it for you. But it is still a bad idea.
|
|
|
|
|
I ried but getting the following message:
Application attemped to perform an operation not allwoed by the security porlicy. To grant this application the required permission, contact your system administrator or use the Microsoft.NET Framework Configuration tool
Technology News @ www.JassimRahma.com
|
|
|
|
|
That seems quite clear, and even tells you who to talk to about it.
|
|
|
|
|
As you have been told, you can't do it without admin privileges.
But the bigger question remains: why are you writing to the registry?
It's a bad idea: access has been getting more and more restricted (and for good reason, it was heavily abused in the early days) and is not going to get any less restricted in future versions. More restrictions should be expected instead.
So why write there?
Why not use somewhere else - somewhere that you are allowed to write to: Where should I store my data?[^] may help.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
|
class Base
{
[Display(Order = 0)]
public int FirstProp {get;set;}
[Display(Order = 1)]
publuc string SecondProp {get; set;}
}
class Derived : Base
{
[Display(Order = 2)]
public string ThridProp {get;set;}
}
I was expecting that the properties will have an order like this
| FirstProp | SecondProp | ThirdProp |
But I was getting like this
| ThridProp | FirstProp | SecondProp |
What was i missed?
BTW i was binding it in a gridview.
I will appreciate for any help will come.
Thank you
|
|
|
|
|
I'm not familiar with the GridView, but the behaviour looks like its started with fields in the derived class before moving onto the base class. If that's the case, that's a pretty dumb implementation.
|
|
|
|
|
What is your suggestion?
Actually i am just using auto-implemented property and i am not using any fields.
|
|
|
|
|
Gilbert Consellado wrote: What was i missed? Make the properties virtual, override them in the derived class, add the attribute.
Yes, that's more work, but it is also more logical.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Yeah you're right.
But in msdn documentation that DisplayAttribute.Order[^] can change the order of the properties. And i tried it but no success.
|
|
|
|
|
Gilbert Consellado wrote: But in msdn documentation that DisplayAttribute.Order[^] can change the order of the properties. You mean it does not work if you mirror the properties in the derived class?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
|
I am having an issue, I am getting error The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
I have a 64-bit Windows 7 machine
32-bit MS Office and my file reader app is targeting .NET framework 4.5 and platform target is ANY CPU.
The references for this app all target ANY CPU as well and if I try to change to x86 I will get errors. Using IIS 7 with Enable 32 bit applications set to False.
Does anyone have suggestions as to how I can resolve this issue?
|
|
|
|
|
|
Thanks I will give this a shot
|
|
|
|
|
Member 9414029 wrote: 32-bit MS Office and my file reader app is targeting .NET framework 4.5 and platform target is ANY CPU.
There's your problem. The Jet driver is 32-bit ONLY. There is no 64-version of it. Since your code is compiled to target AnyCPU and you're running it on 64-bit Windows, it's running as a 64-bit application.
Since you cannot combine 32- and 64-bit code in the same process, your 64-bit application cannot use a 32-bit Jet driver.
Go into your project properties and force the Target Platform to x86 and your code will work just fine.
[EDIT]
The other poster is correct. Use the ACE driver instead. Jet isn't supported any more. The ACE driver can be had in 32- and 64-bit versions.
|
|
|
|
|
Thanks I will try this out
|
|
|
|
|
OUR DEARS,
I like to zoom in or zoom out cell DataGridView according to mouse cell click it is useful for displaying an image specially.
Ihsan
|
|
|
|
|
Okay. That's a requirement. What platform are you targetting?
|
|
|
|