Hi All,
I have done googling on both clickonce and msi. I am bit lost which to select for my requirement is as below.
1. MY application is a WPF app using sqlite db.
2. I am using third part tool devexpress.
My issue are
1. How to deploy my sqlite. Currently my sqlite file is location in the debug folder. So first I have added the sqlite db file by just drag and drop on my project name and I can see the file in my VS 2015 file list. My confusion now is the build action some link say make it as content but other as embedded resource. Can you guys lets me know which is the right method to link it so I can deploy ?
2. Once I have installed where are my files location in the client machine I mean my .dll , exe and my sqlite db where are they are installed cause I would like to confirm if everything is installed properly.
3. In future say I will make changes and create new version of application.
a)In this version how to handle the db for existing user?
b)How to handle for the new user who dont have the software yet but there are going to be new user?
4. How to just handle db updates say changes to some fields or adding some tables?
Will clickonce be able to handle all these or should I use msi ?
In fact I have found this codes too.
But I am not too sure where to park this codes is it my very first form? Then each time it load it will run this function?
string localAppData = Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData); string userFilePath = Path.Combine(localAppData, "MyCompany"); if (!Directory.Exists(userFilePath)) Directory.CreateDirectory(userFilePath); //if it's not already there, //copy the file from the deployment location to the folder string sourceFilePath = Path.Combine( System.Windows.Forms.Application.StartupPath, "MyFile.txt"); string destFilePath = Path.Combine(userFilePath, "MyFile.txt"); if (!File.Exists(destFilePath)) File.Copy(sourceFilePath, destFilePath);