|
What do you mean by "fast printing"??
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I mean DOS mode printing in vb.net
|
|
|
|
|
|
Hi All,
I hav prepared a setup of my VB.NET proj.
I had installed it on a client PC but the crystal reports are not running.It is giving error:
"File or Assembly,CrystalDecision.Windows.Forms or one of its dependencies was not found."
Why it is showing this error.What shud i do for running my crystal reports.
hi this ajay bharti
|
|
|
|
|
from google search: vb.net crystal report installer
http://www.vbcity.com/forums/faq.asp?fid=54&cat=Crystal%20Reports
The Solution:
Some basic info first; I was using VB.Net (Visual Studio.net 2003) in a Windows Form. The version of Crystal Reports used was that which came bundled with Visual Studio (this appears to be 9.1.5000.0 according to the reference within VB Studio). The reports used are embedded within the project. Here’s what I did. Apologies in advance if much of this is common knowledge –but it’s usually the simplest point that if overlooked causes the whole thing to go pear shaped and fail to work.
Producing the Deployment Project:
Open Solution Explorer, right click on the “Solution Name” at the top and Add a New Project. On the window that appears, move to Setup and Deployment Projects. Click on Setup Project (not the wizard), put a name for your deployment project (make a note of the location where the folder that the deployment project will be created in) and then click OK. A File System dialog will appear – solution explorer should be displayed on the left of screen. Within solution explorer – right click over your deployment project and select Add – Project Output. Another window will appear – select Primary Output (make sure configuration is showing Active) and click OK. This will result in the detected dependencies being updated & a primary output icon appearing in the deployment project. Right click on the deployment project name again and Add – Merge Modules. Add the following modules.
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_enu.msm
Crystal_Managed2003.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
These were the appropriate modules for my application given that I am using VS 2003. You can check your specific needs by going to this site
click here
And finding the environment appropriate to you i.e. VB.net 2003, Full versions of Crystal Reports etc…
Right click on Crystal_regwiz2003.msm and go to its properties. Enlarge the MergeModuleProperties tree and enter the product licence key. This can be found by opening the Help menu on Visual Studio and then opening About Microsoft Development Environment. You will see the 19 character licence code for Crystal Reports in the Installed Products List.
Go onto Build – Configuration Manager . Check that the Project & Deployment Project which appear are set to “Release” and the Build check box for each is checked. Build the Project. If all is well the build should show no errors.
If this has gone according to plan you should now have (in the folder specified in the “location” window given when you added your deployment project) a debug and release folder. The release folder will contain
setup (application)
setup (config file)
an installer package.
The release folder is all that is needed to deploy the application on another machine.
1. Out of clutter, find simplicity.
2. From discord, find harmony.
3. In the middle of difficulty lies opportunity.
Albert Einstein
three rules of work
|
|
|
|
|
To deploy your application, you need to create a setup project and add the necessary merge modules to your application before you build your solution.
Open your Windows application.
In the Solution Explorer, right-click your Windows application solution, point to Add then click New Project.
In the Add New Project dialog box, select Setup and Deployment Projects in the Project Types pane and select Setup Project in the Templates pane. Click OK.
In the Solution Explorer, right-click the Setup Project, point to Add then click Project Output.
In the Add Project Output Group, select Primary output and click OK. Any dependencies, such as the Managed.msm, are added automatically.
In the Solution Explorer, right-click the Setup Project, point to Add then click Merge Module.
In the Add Modules dialog box, select the following merge modules to add to your Setup project and click Open:
Database_Access.msm
Database_Access_enu.msm
regwiz.msm
For a description of these merge modules see Crystal Reports Merge Modules (ms-help://MS.VSCC/MS.MSDNQTR.2003JAN.1033/crystlmn/html/crconcrystalreportsmergemodules.htm). Note If you deploy a Windows application that uses an ADO .NET dataset, you also need to include the VC_CRT and VC_STL merge modules.
In the Solution Explorer, right-click the regwiz.msm file and choose Properties.
In the Properties window, expand MergeModuleProperties and enter a valid license key in the License Key properties box. Note Providing the license key is a mandatory step whenever you deploy a Crystal Reports for Visual Studio .NET application. A license key will be given to you once you have registered Crystal Reports for Visual Studio .NET. You can find the license key in the About dialog box. From the Help menu, choose About Microsoft Development Environment. The keycode is listed in the Installed Products field.
From the Build menu, choose Build Solution to build your application. When deploying to a client or server computer
karim ben romdhane Tunisia
As I grow up I pay less attention to what men say, I just watch what they do.
|
|
|
|
|
What is the different between function and property.
I want to get a clear definition.
Continue...
|
|
|
|
|
A property could be compared to a member variable in the way you can assign a value to it or retrieve it, pending on the read and write access. A function can't do this the same way.
With a property you would get the following
class.prop = value
A function would be
class.setProp( value )
Properties can make your classes easier to understand then when you use get and set functions, however if you want to set more member variables at once a function is easier as they can have more parameters.
|
|
|
|
|
Gerben Jongerius wrote: A property could be compared to a member variable in the way you can assign a value to it or retrieve it, pending on the read and write access. A function can't do this the same way.
With a property you would get the following
class.prop = value
A function would be
class.setProp( value )
Properties can make your classes easier to understand then when you use get and set functions, however if you want to set more member variables at once a function is easier as they can have more parameters.
One more thing, FUNCTION return some value after processing, which should be collected/received/stored in variable.
|
|
|
|
|
I have developed a class and built dll (Dynamic Link Library).
I have a mechanism in this dll to detect whether the user (programmer) of this dll is authorised to use this dll in his own programs or not.
Now if the user is not authorised to use this dll, i want to delete this dll from the code within this dll in runtime (Complicated, deleting itself).
Please tell me how can I delete this dll in VB.NET 2003.
Thanx
Iftikhar Ali
http://www.itajtech.net.tc
|
|
|
|
|
The method is very easy to delete the file.What is ur real
purpose. That time I can help u. u can use the file delete
method ( Please use this function kill() )
Continue...
|
|
|
|
|
My purpose is:
If the user is not authorised to use this dll, i want to delete this dll from the code within this dll in runtime. I have developed a program whose core functionality is in this dll. Now anybody can use this dll to make a software like mine, I want to restrict anybody (except me) to use this file.
Now tell me what you think of my situation?
Please tell me with coding.
Iftikhar Ali
|
|
|
|
|
And if there is a problem with the users authentication? Boom! Too late to fix it... Better hang up the phone to tech support and reinstall the app...again.
This situation is no different than any other IP issue every developer on the planet faces. There is a reason why no other developer on the planet is doing this.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
OK! I stick to this approach of not processing any unauthorised request.
Is it OK?
Iftikhar Ali
|
|
|
|
|
How to use kill() in any dll.
Give example with coding of any dummy dll.
Iftikhar Ali
|
|
|
|
|
Iftikhar Ali wrote: Now if the user is not authorised to use this dll, i want to delete this dll from the code within this dll in runtime
A better method would simply be to not process any requests for methods/properties on your class. Self-destructing is not a very friendly way to do things, besides, your DLL will be in use and cannot be deleted. All locks must first be released.
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life."
(Translation: I'll show you the way, but not write the code for you.)
I read that somewhere once
|
|
|
|
|
As far as I know somebody post an article of Update exe from within the code of same exe.
So I think it is possible, but I'm at present on the same side as you suggested, ie. not to process any information.
[Give reply with code PLEASE!]
Iftikhar
|
|
|
|
|
Iftikhar Ali wrote: I'm at present on the same side as you suggested, ie. not to process any information.
Excellent decision!
Iftikhar Ali wrote: [Give reply with code PLEASE!]
This is very simple. You should be able to work this out on your own. Just detect whether or not the caller is authorized either on each method/property call or a global variable set during such detection at DLL load time and accept or deny the action accordingly. Dave K. has already stated this in a separate reply to your original post.
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." (Translation: I'll show you the way, but not write the code for you.) I read that somewhere once
|
|
|
|
|
Yeah I know how it works.
But will you please tell me how to make a dll which when load detect whether its legal or not.
Tell me
Dim myClass1 as new myClass(???)
how can i get some string or anything right when my class is initialize as above, in place of ??? like this
Dim myClass1 as new myClass("XYZ")
Thanx
Iftikhar Ali
|
|
|
|
|
Iftikhar Ali wrote: Yeah I know how it works.
Great!
Iftikhar Ali wrote: But will you please tell me how to make a dll which when load detect whether its legal or not.
Tell me
Uhhh.... you tell me I'm not being a smart-arse here, it's just that YOU are the one who knows the method by which you are authorizing the use of your DLL. I's not up to me to provide this.
Iftikhar Ali wrote:
Dim myClass1 as new myClass(???)
how can i get some string or anything right when my class is initialize as above, in place of ??? like this
Dim myClass1 as new myClass("XYZ")
I'm not sure I understand what you mean. Please elaborate.
As for the DLL coding, this is covered in many places and there are a few references on the Code Project articles section as well as Microsoft's MSDN website.
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." (Translation: I'll show you the way, but not write the code for you.) I read that somewhere once
|
|
|
|
|
Steve Pullan wrote: As for the DLL coding, this is covered in many places and there are a few references on the Code Project articles section as well as Microsoft's MSDN website.
I will goto MSDN and search there, nonetheless Thanx for all suggestions.
Iftikhar Ali
|
|
|
|
|
You can't delete the .DLL while it's loaded into a process, period. There's no way around this. If your code was it's own .EXE, that's a different story, but a .DLL has no chance of deleting itself.
Since you already have the mechanism to determine if the user is authorized, it's simple. On each of your method calls, or just the very important ones, run your check or check a flag that your authorization code sets, and return nothing if that check fails.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
If you load the dll from another assembly into its own AppDomain, you can turn Shadow Copying on. Shadow copying copies the dll to a temp directory. This would obfuscate the location of the DLL once you've self-destructed, but you'd still have the DLL floating around in the temp dir.
|
|
|
|
|
Yep, that's true, and I think the point of his "security feature" is to remove all traces of the .DLL, so that wouldn't work for him.
Why on earth you would want to do something like this "feature" is beyond me...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Look at codesecurity, obfuscation and authenticating to a server. Probably the best way to keep your users from continuing to use your DLL is by generating a key that is generated from machine specific (BIOS) values, having them send it to you, and then you sending a 'public key' back. The other way is to authenticate every call to your server, but this would only work well for DLLs that already talk to networks outside its own.
Ultimately, unless you are writing code that unlocks the keys of the universe, you're best off obfuscating your code and using simple time countdown techniques.
Andrew
|
|
|
|