|
Hi, I've created a wpf application and i want to create a setup project. I want to use ClickOnce. My problem is how do I use update location considering the fact that i use sql ce database and I don't want changes to affect it. Also, how do I create a certificate in order to not expire after 1 year?
Thank you
|
|
|
|
|
netDeveloper wrote: how do I create a certificate in order to not expire after 1 year?
Check out the renewcert tool. It allows you to renew your cert when it expires. I think it also allows you to specify a longer expiry so you don't have to renew it every year.
http://may.be/renewcert/[^]
netDeveloper wrote: My problem is how do I use update location considering the fact that i use sql ce database and I don't want changes to affect it.
I don't quite understand this question. You specify a location that the app will check updates for. if you make updates that require database changes to a local database you will have to provide that new database with the clickonce update. If you have a local database provided with the app and you need to update it and provide a migration of data from the old copy to the new copy it's probably a bit beyond the scope of click once installation, you should probably be looking at doing a proper client based installation project. Perhaps I've misunderstood your question.
Simon
|
|
|
|
|
I was saying that when i send her a new install that contains updates, it should not modify the local database. I found a solution: modify database name after install(when running application) and use that one. When a new install is applied, it doesn't touch the database, even if i set to uninstall first. I will implement changes to database by hand if needed.
Thank you very much
|
|
|
|
|
Ahh... I see what you are trying to do.
I think you could also just set the database file to "not included" when you publish the update.
Simon
|
|
|
|
|
And that won't delete the old database?
|
|
|
|
|
Not sure. Don't think so. Try it first is the best thing to do.
Simon
|
|
|
|
|
hello all
,i am using the function Dataset.Merge(table, false, MissingSchemaAction.Ignore), to merge larg amount of table ..about 40 tables,the problem appear when some tables have large number of recordes...hence the performance become sooooooo bad,it take about 6...7 m to complete merging for that table to that data set...so does anyone know how to enhance the performance for it ??
or if there is any workaround ??
|
|
|
|
|
So you have taken a dodgy bit of technology (dataset, data processing) designed at best for small volume jobs (2-3 tables and limited rows) and beaten it to death with 40 tables and large volumes of data. I beleive you should move all this processing to a database and reload the data after doing the work in the database.
Secondly I think your design is a disaster looking for a home, anyone loading 40 tables into 1 dataset is asking for trouble. I don't know the design spec for datasets but I have never considered loading more than 3 (small) tables and have NEVER used .merge!
I can feel a rewrite coming your way!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
it is a large system and we have to do that,anyway even in case you just have a one table but it contain alot of records ...the performance will not be acceptable,so have you solution for that ??
but just to enhance its performance but not in the database ??
|
|
|
|
|
Sorry, as far as I'm concerned you are using the wrong tool for the job. This is a design issue NOT a performance issue. If you take a small car and hook up a 5 tonne trailer, you can't complain about the performance, you need a bigger engine and thats the database.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
thanks alot for your replay ,
but the problem i need that before commit it in database,as the data mergerd come from UI and some threads....,so it cannot be handel in Data base...but in case i implement that function ,do you think it may diffrent in performance,??
|
|
|
|
|
Hi
i have seen a desktop application which run via http request on the browser. for example user write a url (problabely location of the application in server) in his/her browser and then press enter, the application run in client machine from network (but app is not installed in client machine, only .net framework has been installed in client machine)
how to do this ?
Thanks
|
|
|
|
|
Have a look at ClickOnce.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
hdv212 wrote: (but app is not installed in client machine, only .net framework has been installed in client machine)
If it runs outside of the browser, then it might have been wrapped as a Remote Application[^]. I believe that VMWare does something similar.
If it runs within the browser, then it's probably an ActiveX control. Those get installed in the browser itself, depending on your security settings.
So, two possible options, but no ready-to-go solutions. If it were easy to do, then everybody would simply run their WinForms-app over the internet
I are troll
|
|
|
|
|
Hi Pete
i don't install or update app via internet, why ClickOnce ?
Hi Eddy
can u give me more explain about this options and solutions ?
|
|
|
|
|
hdv212 wrote: Hi Pete
i don't install or update app via internet, why ClickOnce ?
If you are replying to Pete, then make sure that you reply to his post. We get an email when somebody replies to a post. Pete didn't get your reply by mail this way.
hdv212 wrote: can u give me more explain about this options and solutions ?
For RemoteApp;
This way, the app sits on a server. The client makes a connection, gets to view the app locally, and is running it on the server.
There's a step-by-step guide here[^].
For ActiveX hosting
This way, the app is embedded in the webpage. The client connects, downloads the ActiveX and runs it locally.
The Microsoft Knowledge Base[^]
This is not an easy task and will take quite some effort.
I are troll
|
|
|
|
|
|
Hi. If i try to run my applications on a mapped drive i get a security warning in the top left corner of the applications window. And apllication doesn't work as it gives me an information window : "Application attempted to perform an operation not allowed by the security policy.
...
Request for the permission of type 'System.Security.Permissions.FileIOPPermission, mscorlib, version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
How can i make my applications work in such an envirioment? I've seen normal delphi apps work
Thanks in advance!
Regards,
Matjaž
|
|
|
|
|
It is because of the code access security. Read about Caspol.exe[^]. This[^] blog post can also help.
|
|
|
|
|
Thanks for your answer!
So that means there's no way to get applications running by adding some extra code?
Only localy with administrator account and change some settings?
Regards,
Matjaž
|
|
|
|
|
Matjaž Grahek wrote: So that means there's no way to get applications running by adding some extra code?
I am not sure, but I think there is no other way.
|
|
|
|
|
It wouldn't be providing much security if you could simply bypass it..
I are troll
|
|
|
|
|
|
I have an object, called Tag, which inherits List<Tag>. This works great code wise, I can add objects of type tag to my tag without issue. But when I try to serialize the object to XML it crashes with a "An unhandled exception of type 'System.StackOverflowException' occurred in System.Xml.dll" error when I try to initialize a new instances the XmlSerializer class, and pass in the type of Tag.
If I remove the Inherts List<Tag> and just create a new property of type List<Tag> instead, then this serializes great, but does not give me quite the appearance I want. Is there someway to make this work without custom serialization, or maybe only minor custom serialization?
Thanks,
Peter
|
|
|
|
|
Im having the same issue. Have you found the solution?
|
|
|
|