问题描述:
C#2005+ACCESS单机版应用程序
希望升级通过版本补丁的方式进行,即升级文件为类似1.0-1.1.exe,1.1-1.2.exe这样的方式,只有一个可执行文件 (1)运行后会自动用新版本的文件替换掉旧文件
(2)能通过执行已定义好的SQL来执行可能的数据库结构变更,以及其它一些非文件替换而需要程序来执行的操作.
(3)补丁文件能自动检测该软件的安装目录,在任何目录下运行均能执行更新 我不清楚如何才能把新版本的DLL及EXE等文件放到升级补丁的EXE中,并让其在补丁运行的时候自动释放并替换.
C#2005+ACCESS单机版应用程序
希望升级通过版本补丁的方式进行,即升级文件为类似1.0-1.1.exe,1.1-1.2.exe这样的方式,只有一个可执行文件 (1)运行后会自动用新版本的文件替换掉旧文件
(2)能通过执行已定义好的SQL来执行可能的数据库结构变更,以及其它一些非文件替换而需要程序来执行的操作.
(3)补丁文件能自动检测该软件的安装目录,在任何目录下运行均能执行更新 我不清楚如何才能把新版本的DLL及EXE等文件放到升级补丁的EXE中,并让其在补丁运行的时候自动释放并替换.
解决方案 »
- 类中如何定义带参数的方法?
- 关于oracel链接字符串 大家进来
- 求cㄒ#學習代碼
- cmd.ExecuteNonQuery();调试时该语句出错,求救~~~~
- 项目发布到内部网站上,使客户端能自动更新
- 专家帮忙。关于数组和指针
- 急呀!在线等。谁能给一个把文件拖到自己程序窗口里的树上的例子!分不够可再加。
- 请问如何在C#中调用可执行程序并和程序交互执行其中的某个功能。
- 大家帮我下``,事件为什么要定义委托
- 异常信息是"检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。"
- C# 中如何设置文件夹的图标
- C# VS2010+SQL2005 如何提取数据库中的内容
想个性化的,那就得自己动手做了
数据库结构变更可以执行定义的好的SQL.
获取软件安装目录的一般方法:
using (RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false))
{
if (key != null)
{
foreach (string keyName in key.GetSubKeyNames())
{
using (RegistryKey key2 = key.OpenSubKey(keyName, false))
{
if (key2 != null)
{
string softwareName = key2.GetValue("DisplayName", "").ToString();
string installLocation = key2.GetValue("InstallLocation", "").ToString();
if (!string.IsNullOrEmpty(installLocation))
{
//this.textBox1.AppendText(string.Format("软件名:{0} -- 安装路径:{1}\r\n", softwareName, installLocation));
listBox1.Items.Add(string.Format("软件名:{0} -- 安装路径:{1}\r\n", softwareName, installLocation));
}
}
}
}
}
}