|
I made an addin by using the Addin-Wizard of Visual .NET.
I should like to install this addin on the next configuration:
- A PC with Windows XP
- there can be several users, but they haven't administrator rights.
- The installation of the addin must work in the administrator mode, but users should use it in restricted mode (not admin mode in Windows XP).
So, I have problems, because the addin fail when it is launched in restricted mode.
Visual .Net print the addin failed during the loading.
Do you know a solution for this problem ?
|
|
|
|
|
i have problem with these topics:
why we r put signing key for the assebly.
ok i have created a class library called empobject.it's locating F:\KeyTest\EmpObject
then i have assign a key:
D:\WINDOWS\System32>sn -k F:\KeyTest\EmpObject\mykey.snk and the key is generated.then i have create a folder called SpecialLib in
D:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\SpecialLib cas
i want to copy all the non standard component here.
then i promt D:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\SpecialLib>gacutil -i empobject.dll.
but thr was a error called
Microsoft (R) .NET Global Assembly Cache Utility. Version 1.0.3705.0
Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
Failure adding assembly to the cache: Attempt to install an assembly without a strong name
|
|
|
|
|
hi,
Did you mention the strongkey name and location in AssemblyInfo.cs file of your .dll project.
Eg. please mention the vales for the below mentioned assembly attributes.
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
After mentioning this. Try to compile your .dll file once again and then use Gacutil to install this .dll into GAC.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
ya i don't have idea about the
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
|
|
|
|
|
hi,
You will get this attibute on your AssemblyInfo.cs file which is located in your .dll project directory.
Before compiling your .dll you need to mention your strongkey file name and location. Just mention these information here and compile your assembly.
After your successful compilation you can go for Gacutil.
Eg.
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("C:\\Sreejit.snk")]
[assembly: AssemblyKeyName("Sreejit.snk")]
Here
AssemblyKeyFile - > the location where my Strongkey file is locating.
AssemblyKeyName - > is the name of strong file.
Try to compile your .dll after mentioning these two attribute. After this you can gacutil to install your .dll into GAC.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
hello mr.sreejithnair,
Sorry about the mail.anyway i have install it sucessfully
but still i can't put it to the my own dir.cas i have create a dir
in my c:\.wht i want is copy all the non standard asemblies here.
thanx
amal
|
|
|
|
|
hi,
You wrote :
Sorry about the mail.
Nevar a problem. I won't encourage personal mails.
You can submit your doubt here in discussion. Sometimes this may help others.
I can't properly figurout what you mean by "non standard asemblies".
Tell me what is your real requirement.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
i just want to keep my own dll's in another seperate folder other than c:\windows\assembly.
and i have open a new project and i have to add reference above dll.
but my empobject.dll is not display in the component list under the .net tab.
but other standard dll's(Crystalreportplugindil) list thr.so wht was the problem.
amal
|
|
|
|
|
hi,
According me ,after completing your this requirement you need to study something about C# assemblies. Especially private and public assemblies.
The assemlies which are installed in GAC will show in the component list. But here you kept your assembly in your own location ( NOT IN GAC ). So it is upto you to locate the location of the .dll file.
Here what you can do is , Right click the reference folder and try to select add reference. Here you need to browse the location of your .dll file ( C:\yourDir\aaa.dll) and open.
So click on browse button and try to locate, open the .dll file.
After this you will came to know that your .dll is there in reference folder of your application.
Finally don't forget to study about Private and Shared Assemblies.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
hi,
I want to point a function which will take some parameter to ThreadStart delegate. I found that the default implimentation is not overridable.
Here what i will do if i want to put the execution of my function into a thread.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
|
hi,
Please little bit more clear.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
I just posted this very same answer in the VB.NET Forum today. Here's[^] the link. I know, I'll get flamed for this, but I hate writing the same code twice...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi,
I pretty bad in vb.net. Is it possible to show in in C#.net.;)
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
I validate all input data using a Validation class with functions like:
IsAlpha, IsAlphaNumeric, IsEmail, Lenght, IsNumber
Normally I make the validation in the Click Event of a form, and then I show the errors using an error control.
Is there a better way to validate input data? And for what are the events "Validated" and "Validating"?
Thanks.
|
|
|
|
|
hi,
If you are talking about windows application then you have to write custom functions like what you mentioned.
And you can provide ErrorProvider control for interactive error notification.
You can encapsulate your custom error checking here in Validated event of your textbox controls.
eg.
private void TextBox1_Validated(object sender, System.EventArgs e)
{
if(IsValid())
{
nameErrorProvider.SetError(this.TextBox1, "");
}
else
{
// Set the error if the name is not valid.
nameErrorProvider.SetError(this.TextBox1, "Name is required.");
}
}
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
|
Hello,
Is there any way to prevent a tool like Reflector (http://www.aisto.com/roeder/dotnet/) from reading and disassembling private members using reflection?
I am aware of a suggestion posted by Microsoft, stating that using [StrongNameIdentityPermission...] may help, but I can't find any example for a successful usage of it. Using
[assembly: ReflectionPermission(SecurityAction.RequestRefuse, TypeInformation=true)] (or any other flag)
also proved futile.
Can it be that an assembly created using C# and .NET has no secrets when challenged by a freeware tool? And say I have secrets, does it mean I have to stick with C++ (knowing that you need a capable disassembler and a more capable person to squeeze the data out of my modules)?
Best
J
|
|
|
|
|
There are tools out there that can help you out a little. They are called obfuscators. What they do is they modify method names and class names to make it more difficult for someone to read your code. The more advanced tools insert special code to foil tools like Reflector.
Do a search for Salamander (expensive)
|
|
|
|
|
Thanks, I am familiar with these (actually wrote one myself for Java).
Unfortunately, even these tools with very advanced logic can only rename and scramble a little... this is certainly not the case with a C++ application, there you have to actually know ASM to understand the code, or use a disassembler that gets no-where close the original code.
I reviewed numerous obfuscators during the last weekend. Salamander is not expensive compared to others, but it has a very mediocre UI. I understand that its most valuable (advertised) feature is its ability to convert the code to what you would have gotten, had you used C++ (or other not managed language) to begin with...
It seems that Microsofties themselves are using Dotfuscator (which is bundled with DevStudio).
Still, I see no way to protect your *private* (not the public interfaces) code with managed code, and hence no reason to use it for project that you want to keep as inconspicuous as possible (like encryption libraries etc).
|
|
|
|
|
I was going to mention that even C++ can't hide your data, but you already know that. Well, I guess you can just create an unmanaged library for your most important functions and then use interop. If you need to release this as a component then create a wrapper library.
|
|
|
|
|
You set the plan as it will be
Obfuscation for the code, unmanaged library for the encryption related code. This will (hopefully) shift the culprit's gain-loss balance towards the loss column.
Thanks for your suggesions.
|
|
|
|
|
hi,
Please check this site for obfuscation and reverse engi:.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dotfuscator/dotf49m6.asp
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
I have a custom install action where I need to have the user browse for a folder. I'm using the 1.1. framework. I set the RootDirectory and the SelectedDirectory, but when I run the dialog it does not show a browse window. Every property I set shows up. It just does not let me select a directory. The browse window is gone!!!
Has anyone else experienced this?
This signature left intentionally blank
|
|
|
|
|
Check if the COM threading model for your application is single-threaded apartment.
[STAThread]
static void Main()
{
...
}
Don't know why, but if it's multithreaded apartment, you get the described behaviour.
www.troschuetz.de
|
|
|
|