|
Dear All,
Thanks for your valuable reply. If your have any realtime example to understand the concept, please do share.
regards
|
|
|
|
|
hai there,
i developed a product using c# and dotnet IDE. My idea is, i need to distribute all pre-requests like framework,MDAC etc through the product setup.
On intallation point of time if that perticular client machine don't have pre-request for running my application(product) then it has to automatically install all pre requests before installing my product.
Next thing is, if the client machine have requirded pre-request then it need to check for the compatability of my product.
eg: i developed my product in frameword 1.1 but the client machine have a frameword 1.034 some version.
If that framework is not compatable then my product have to install latest framework that is avilable through my setup.
finally if my client machine and product have same pre-request version then my product installation need to ignore the installation of pre-request and it directly need to install my actaul setup(product).
any idea about this ?
Sreejith S S Nair
|
|
|
|
|
hi,
the answer to your query lies in the following URL.
to brief you ...
you need to create an unmanaged bootstrapper i.e Setup.exe which does all these stuff. It should be unmanaged because it needs to run on machines where .NET framework is not available.
And then through Settings.ini file you need to link up this setup.exe file with the .msi file that your setup project has created for your application.
You will find answer regarding the installation of the data access components as well.
Follow the link below for more info
custom bootstrapper -- MSDN article
Cheers !! and have a Funky day !!
|
|
|
|
|
let me check this first and will get back to you later
Sreejith S S Nair
|
|
|
|
|
how to load the data in database into the treeView
thanks
Rock Throught The Night
|
|
|
|
|
you can refer Quick Start tutorial for winforms.
otherwise
please go trough this link
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vboritreeviewctltasks.asp
Sreejith S S Nair
|
|
|
|
|
How can i access bios information from C#.
I need to access all the settings of bios from C# and modify them as required. How can i do that?
Regards,
Rahul
|
|
|
|
|
|
Guys,
On the datagrid when you do a HitTest you get the "physical" row that the mouse is over. If the user has sorted the grid (by clicking on one of the column headers) and changed the order of the rows is there a way to get the "logical" row from the "physical" row?
Thanks
|
|
|
|
|
Get the DataView used to sort the data. If you bound your DataGrid to a DataView , you're already done. If not, get the DataTable you're binding to (whether it's the DataSource or it's name is the DataMember ) and get the DefaultView property.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks Heath,
I'm binding to a DataTable. I've looked at the DefaultView property as well as the other properties of the DataTable but I am unsure how to translate the HitTest Row number from the DataGrid into a row number of the DataTable. I need to get the DataTable row number integer not to update the actual row in the control but to update an associated array. (DataTable row number is the index into the array.) I looked at the Find property but the rows displayed in the table are not unique.
It this translation possible?
|
|
|
|
|
I did some more reading and it looks like I need to put a primary key column on my table - and then I guess I will hide it. But even if I add the primary key column how do I resolve the HitTest Row number from the DataGrid into a DataTable row number?
|
|
|
|
|
IIRC, you should be able to get it using DataView[physicalRowIndex] . This gets you a DataRowView . Get the Row property to get the actual DataRow , though if you just want the value of a column in the row, you can get it as you would with a DataRow using the DataRowView .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey
We have a bigger Game project that is almost finish. It is a Socket based online game.
we have built a Main room there you can chat, creat tables(games) and so on. this section is finish. We have also done a AlfaPet(Scramble) Game to play, but this game is not realy finish yet.
Now to the problem.
We got a dll file(name : Transfer) this dll file contains al the objects we are sending between client and server, thereby it have to be included in bouth the client and Server with the same version.
If we want to change somthing in the dll file(Transfer) then there is no problem to update Server with this dll file becourse we will only have to add it to the server(no own made controls).
But its a bit tricker with the Client.
The client contains alot of own made system controls, so there is not much cod in the client. This controls is using the dll file(Transfer) to send and recive obj.
Every time we make a change in the dll file(Transfer) we have to add it to eatch control and rebuild it and the add it to the client again, otherwice the controls will not be shown in the Client(during in Visual Studio) and somtimes the controls is disiparing. this becource of the version is not matching anymore.
We are tired of doing this way, it must be another way.
Right now we have all the dll files from the own made controls in Client\bin\Debug we have also the Transfer dll file here, the controls have there seartch way to this Client\bin\Debug\Transfer.dll
But if we update it we will have to rebuild the controls, and thats just to time consuming.
Pleas help
Regards
Jimmy
There is som pictures on the application here http://rally.to/Jimmy/
|
|
|
|
|
You don't have to rebuild your application. You can use a publisher policy or add the necessary entries in your assemblyBinding section in your application's .config file. We do it for our massive N-tier application all the time.
Since we also use Internet-based touchless-deployment we only need to change the .config file and upload the new files with the different assembly version. Fusion (binds assemblies in the .NET Framework) downloads the newer assemblies and caches them in the temporary assembly cache. This probably doesn't apply to you, but it doesn't change the fact that you need to recompile your assemblies with dependencies on your Transfer.dll assembly (or whatever it's called) unless you have breaking changes (like removed a method or changed behavior - something to think about when designing your application).
See Redirecting Assembly Versions[^] in the .NET Framework SDK for more information.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey
Thanks for fast answare
Maby you got the time to explain how to do, becourse im not understan realy what you talking about, but it sounds right
Maby you know where i could find more info about how to do this?
//Jimmy
|
|
|
|
|
Snowjim wrote:
Maby you know where i could find more info about how to do this?
Perhaps the link I sent you in the first reply?
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hehe Sorry, misst that(was on my way out)
But i have lookt it up, and a remeber that i have lookt at this before, but didnt know how to use it.
I remember that it was somthing about global Assembly witch im not looking for.
I have look in den Client AssemblyInfo.cs i sopose that this is the config file to set? and that this settings will be for al the controls in the project?
if i set oldversion and new version in this file will this solve the problem? will i only have to chansge the version nr next time im updating the transfer.dll?
//Jimmy
|
|
|
|
|
You should re-read it. There's two ways of doing this. One is a publisher policy that gets installed into the Global Assembly Cache (GAC; which I assume you meant by "global Assembly", of which there is no such thing). This is a specially named assembly (among other things) that redirects the assembly binding.
The other is a section in your application's .config file, which is what we used. They both accomplish the same thing. AssemblyInfo.cs is not a config file, either. It simply defines assembly-level attributes (which could go anywhere).
The .config file has the same name as your executable, only with .config appended. So, if your application is MyApp.exe, then your .config file is MyApp.exe.config. The bottom of that article discusses all of this, and even shows you an example of what such entries look like.
So if you upgrade your Transfer.dll from version 1.0.0.0 to version 1.1.0.0, your .config file would look something like this:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Transfer"
publicKeyToken="0123456789abcdef"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="1.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> This would go into the .config file for your client and server. Nothing needs installed into the GAC.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks for all the help
But i cant find any config file at all in our project
When we moved the project from diffrent computers and catalogs we notice that there become som errors in dll files, it was seartching dll files on old places and so on, and there by used older versions of dll files. We coulden find a way to solve this so we desided to pu the project catalog in C:\ and if we moved it to another computer is hade to be in the sam directory there, and this have workt well.
When we ar updating a dll file(User control(own made control)) then we only have to copy the new dll file over the new one.
But the problem with updating a serten dll file that includes in al the usercontrols simes a bit harder.
As i said, i have seartch the project catalog for a file lika *.exe.config, *.config. And i hav also lookt in the catalogs my self, but i cant find a file with that name.
//Jimmy
|
|
|
|
|
You have to create the .config file. How can you have worked with .NET for as long as I know you have (and probably longer) without ever knowing what a .config file is? You can also add a new XML file called App.config to your project and it gets renamed and moved to the target directory when you compile.
When you deploy your application, you make sure the .config file is named the same as your application and in the same directory. For ASP.NET applications, it should be called Web.config. There is plenty of documentation about .config files in the .NET Framework SDK, including the parent section of the link I sent you before.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hehe
yes i wounder the same thing, we have never been tought this thing in school.
and yes you could have learn it my self, and i have tryed, but never manage to understand it. But you have helpt me a great deal, i will try this thing out and see how it goes.
Alot of thanks
//Jimmy
|
|
|
|
|
I never learned any of this (or much of anything I didn't know already about C/C++ and Java) in school either, but yet I know it.
The key is to read. Read that link I sent you in the first reply. It shows you want to put in your .config file as I did. Understanding .config files is also very important. It allows you to custom your application without having to recompile (like storing database connection strings in the appSettings section or something). It also allows you to redirect your assembly binding as we've been talking about.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
No, but beleve me, i work with Programin in C# all the time, and i allways goes out side the lessons bounderys, so i think its wary strange i havent bumped in to this earlier.
And yes i read, but its hard to understand, maby i have to bad ground knowlege.
Anyway
I have made a XML file cald App.config in the project, and i saw that it created a config file named GameClient.exe(not GameClient.exe.config) but it stated that it is a config file.
I have copy the new version of Transfer in to my project, and then open the project, but some of the controls dispare from the form and in the task list it stated ex
Warning: The dependency 'Transfer, Version=1.0.1596.41878, Culture=neutral' in project 'GameClient' cannot be copied to the run directory because it would overwrite the reference 'Transfer, Version=1.0.1602.28586, Culture=neutral'.
The own made control is compiled with the version 1.0.1596.41878 and the config file simes not to work, is there any debug funktion on a XML file? so i know what i have done wrong?
//Jimmy
|
|
|
|
|
Snowjim wrote:
I have made a XML file cald App.config in the project, and i saw that it created a config file named GameClient.exe(not GameClient.exe.config) but it stated that it is a config file
Because you aren't showing all file extensions like a development machine should have. Any registered extensions are hidden. Change this in your folder options for Windows Explorer.
When you work with a multi-project solution, you should set up Project references, not assembly references. This makes sure that the assemblies are in sync: that the right versions are used to compile against and that the right buileds (i.e., Debug, Release, or custom builds) are used.
Again, don't use automatic versioning. In multi-project solutions you'll loose control quickly and it becomes a nightmare to maintain the assembly redirections. You only need to change and redeploy the changed assemblies and the .config file (or have the installer update the existing .config file) but if you use assembly redirection even while testing new versions of your assembly, you have to update the .config file each time. If you redirect to the wrong version you will get exceptions as if the right assembly version wasn't found when JIT'ing your IL.
Microsoft MVP, Visual C#
My Articles
|
|
|
|