今天要给项目的客户端用.net作个安装程序,进行中。。。
- 首先其实就要把项目的文件copy到用户安装时指定的目录中去。
- 选择“文件”->“添加项目”添加现有的项目
- 右击应用项目文件夹->添加项目输出 选择现有项目的文件添加到项目输出中 也可以添加些文件
- 编译运行 在项目的debug文件夹下有setup.exe
第二步要求自动添加应用程序的注册表项
- 右击项目选择视图->注册表
- 添加注册表项
- 添加键值
可是只能添加静态的键值,我现在想添加用户选择安装项目的路径到键值中,正在寻觅方法
这个搞定了,有点复杂
- 创建一个install的类,这个类继承Installer
- private string getInstallPath()
{
Assembly Asm = Assembly.GetExecutingAssembly();
string path= Asm.Location;
int i=path.LastIndexOf("//");
return path.Substring(0,i);
} - public override void Install(IDictionary savedState)
{
base.Install(savedState);
writeReg(); }覆盖install方法,通过writeReg()方法写入注册表,其中用户选择的安装路径通过getInstallPath()获得 - 右击项目选择视图->自定义操作
- 右击安装->添加自定义操作 把install项目加入
第三步要自动安装.netframework
看了一个帖子:
在微软官方网站下载Microsoft Visual Studio .NET 2003 引导程序插件
文件名叫:PluginInstaller.msi
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=zh-cn
你安装了这个插件然后用IDE自带的安装部署即可
但是这个插件是从网上down .netframework的,这个不行,
右击项目 选择视图->启动条件
把.Net FrameWork的属性中的InstallUrl改成本地的framework的安装程序exe文件
以为可以了,但是发现装完framework后就不继续下去了,继续。。。
原来重新编译下安装程序的项目就可以了,运行setup.exe