看了欧延亮的Windows应用程序开发入门到精通九:安全的配置并部署.NET Windows Forms应用程序的笔记
注册表操作
独立存储(Isolated Storage)
独立存储可用于存储与用户相关的,经常变化的数据
实际的存储区域,路径:
支持漫游的存储(无论从哪台机器登陆,效果一样)
<systemdrive>/Documents and Settings/<user>/Application Data
非漫游的存储路径(只有本机登陆且路径相同效果才一样)
<systemdrive>/Documents and Settings/<user>/Local Settings/ Application Data
以下是非漫游的存储路径例子。
制作安装程序部署
1. 增加一个setup project.
2. 打开这个project,有程序目录,开始菜单目录,桌面3个选项。
3.在程序目录上点击右键,选择“program output”,选择解决方案,作为”primary output”
4.默认不编译setup project,可以在解决方案的属性中设置进行编译。
5.在开始菜单目录上点击右键,新建一个目录,点击这个目录,在右边的空白窗体中点击右键,选择增加,在弹出的窗口中选择本菜单要启动的程序,确认后就生成一个菜单,可以修改这个菜单的名字。
6.选择setup project,在属性窗口中找到”manufacturer”和”productname”,修改里面的数据,这将是安装目录。
这样,一个简单的安装程序就完成了。
如果要自定义安装过程:
1.选择setup project,在”view”菜单的”editor”菜单下,选择”customer actions”
2.在install上点击右键,新建一个动作。在动作的属性窗口,找到customactiondata,输入/ServerName=[EDITA1]。这是什么意思呢?就是在安装的时候得到服务器名字。从哪里得到呢?从EDITA1得到。那么EDITA1是什么呢?
3. 选择setup project,在”view”菜单的”editor”菜单下,选择”user interface”
4. 在install下显示的是安装的顺序。可以在安装的时候新增一个窗口,获取服务器名。
5.在start上点击右键,增加一个textboxA窗体。这个窗体有4个textbox,我们使其他textbox不可见,只留下EDITA1。将窗体拖到第二的位置。
6.在解决方案中增加一个INSTALLER的类。右键增加NEW ITEM.
7.在程序安装的时候,会自动执行INSTALLER类中的install方法。
私有或共享应用程序集
1.打开.net的控制台,Sn –k c:/file.key 生成密钥文件,拷贝到工程中
2.在AssemblyInfo.cs文件中增加:
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("../../../file.key")]
[assembly: AssemblyKeyName("")]
3. 编译后,直接将.dll文件拷贝到windows/assembly目录下。
(俞晖说不能直接拷贝,要用gacutil工具安装,试验了一下,确实不能拷贝!!)
要在.net的命令行窗口下,运行gacutil /i mydll.dll 安装。 详细察看msdn