2009年10月6日 星期二

[转]VB.net安装包制作全过程(不包含数据库)

一.创建部署项目
1. 在“文件”菜单上,选择“添加项目”->“新建项目”。
2. 在“添加项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中,键入 DBCustomAction Installer。
3. 单击“确定”关闭对话框。
4. 在“属性”窗口中,选择 ProductName 属性并键入 学生信息管理系统。 并在AddRemoveProgramsIcon 属性选择显示在“添加/删除程序”对话框中的图标。(确保该图标已经被添加到应用程序文件夹)在第二步中将详细介绍。
5. 在文件系统编辑器中,选择“应用程序文件夹”。在“操作”菜单上,选择“添加”->“项目输出”。
6. 在“添加项目输出组”对话框中,为“DBCustomAction”项目选择主输出。单击“确定”关闭对话框。
二.添加和移除图标
安装过程中,可以安装图标并使它与目标计算机上的应用程序关联。可以选择出现在目标计算机上的 Windows 资源管理器中的图标,也可以选择显示在“添加/删除程序”对话框中的图标,方法是设置 Icon 或 AddRemoveProgramsIcon 属性。(该图标就是用户桌面的图标和开始菜单及开始菜单的所有程序的图标,单击或双击就能打开该图标所对应的程序)
图标可以是图标文件 (.ico) 或者是作为资源包含在 .exe 或 .dll 文件内的图标。
为应用程序添加图标
1. 在文件系统编辑器中的右窗格右击“主输出来自DBCustomAction(活动)”,然后选择“主输出来自DBCustomAction(活动)的快捷方式”,创建应用程序主输出的快捷方式。
2. 在文件系统编辑器中选择该快捷方式,然后右击重命名为“学生信息管理系统”。(引号内为图标的名字,由自己把握)
3. 在“属性”窗口中,选择 Icon 属性并从下拉列表中选择“(浏览...)”。 显示出“图标”对话框。
4. 在“图标”对话框中,单击“浏览”按钮。 显示出“选择项目中的项”对话框。
5. 在“选择项目中的项”对话框中,选择应用程序文件夹,然后选择包含该图标的文件。 (确保该图标已经被添加到应用程序文件夹)
注意 若要添加尚未添加到部署项目中的图标,请单击“添加文件”按钮并选择所需文件。包含该图标的文件将被添加到项目中。
6. 选择右窗格“学生信息管理系统”快捷方式,并将其拖到左窗格的“用户桌面”文件夹中。
7. 用户的“开始”菜单、“程序”菜单的图标的创建同上。
添加“添加/删除程序”图标
1. 在解决方案资源管理器中,选择安装项目DBCustomAction Installer。
2. 在“属性”窗口中,选择 AddRemoveProgramsIcon 属性并从下拉列表中选择“(浏览...)”。 显示出“图标”对话框。
3. 在“图标”对话框中,单击“浏览”按钮。 显示出“选择项目中的项”对话框。
4. 在“选择项目中的项”对话框中,选择一个文件夹,然后选择包含该图标的文件。
注意 若要添加尚未添加到部署项目中的图标,请单击“添加文件”按钮并选择所需文件。包含该图标的文件将被添加到项目中。
移除图标
• 在“属性”窗口中,选择“图标”或 AddRemoveProgramsIcon 属性,并从下拉列表中选择“(无)”。
三.添加自定义安装对话框
1. 在解决方案资源管理器中选择“DBCustomAction Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“用户界面”。
2. 在用户界面编辑器中,选择“安装”节点下的“启动”节点。
3. 在“操作”菜单上,选择“添加对话框”。
4. 在“添加对话框”对话框中,选择“复选框 (A)”。
5. 单击“确定”关闭对话框。
6. 在“操作”菜单上,选择“上移”两次,将“复选框 (A)”对话框放置在“安装文件夹”对话框之上。
7. 在“属性”窗口中,将 BannerText 属性设置为“学生信息管理系统”。
8. 将 BodyText 属性设置为“‘安装示例文件’复选框控制是否安装示例文件。如果处于未选中状态,则不安装示例。
9. 将 CheckBox1Label 属性设置为“要安装示例学生信息管理系统吗?”。
将 Checkbox2Visible、Checkbox3Visible 和 Checkbox4Visible 属性设置为 false。这将隐藏其他复选框
四.添加许可协议
1、将安装文件LisenceFile.rtf添加到“DBCustomAction Installer”项目。(安装文件LisenceFile.rtf是使用WORD文档制作的.rtf文件,做法就是把相关的信息写入WORD文档中,然后保存为.rtf的文件)
2、在用户界面编辑器中,选择许可协议,设置LisenceFile属性为LisenceFile.rtf文件。
五、打包時加入卸载功能
方法一:
1. 在打包项目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2. 在文件系统视图中选择应用程序活页夹,在msiexec.exe上按右键,选择创建快捷方式,重命名快捷方式为"卸载".
3. 更改此快捷方式的Arguments 为"/x {产品id}",产品id的值为打包项目的ProductCode属性值.
方法二、
1. 先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到
2. 用VS.net建立一个新的控制台程序uninst.exe文件
'power by: landlordh
'for 2000,xp,2003
Module uninstall
Sub Main()
Dim myProcess As Process = New Process
If System.Environment.OSVersion.ToString.IndexOf("NT 5") Then
myProcess.Start("msiexec", "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}") '改为自己的ProductCode
End If
myProcess.Close()
End Sub
End Module
3、将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式

CentOS簡單安裝ntop+rrdtool

<<本文出自 51CTO.COM技术博客>>

要裝個ntop
缺東缺西的
尤其缺到這個rrdtool還真是麻煩
幸虧有孤狗這玩意兒
search了一下
原來還真簡單
首选 使用yum 安装好apache mysql php等

yum -y install httpd php mysql mysql-server php-mysql httpd-manual php-adodb php-gd

Linux distribution : CentOS 5

只是要裝給ntop用
所以很簡單
細部設定可能就不是像我這種笨蛋可以隨便了解的了

安裝只要兩個步驟

Step 1:下載安裝rpmforge-release
wget [url]http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm[/url]
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

假設一切順利,就可以進行下個步驟

Step 2:就是yum啦
哈哈,上面那個步驟就是加入Dag RPM Repository
會讓yum找得到rrdtool套件
yum install rrdtool
就這麼簡單,什麼dep都一起裝好了
搞定

再補充一下
接著下yum install ntop
就自動把ntop裝完囉

2009年7月17日 星期五

白鯧要怎麼煎皮才不會掉呢?

-灰 鴿- 提供的方法:

先把鍋底的水"烤乾"~~再用"薑片"塗抹鍋底"~! 再放少量的油~!油不可以熱到冒煙~~才放魚下鍋~!(魚~也用廚房紙巾"將身上的水分吸乾!這樣子~ 就OK了!)

2009年7月15日 星期三

Plurk 的佈景主題 (1)

/* MY PLURK CODE - VERKLEMPT - for more plurk themes, hit my site at www.maclaughlinstudios.com*/

/* Special thanks to Plurkers AZJazzyJ, HELLFROZE & STRIFE for many of these fixes */

body, html {
background-image: url(http://www.maclaughlinstudios.com/Plurk/Verklempt/swirlz.gif);
background-repeat: repeat
color: white;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #190d03;
}

/* TIMELINE MODS */

#top_login { width: 100%; background: #190d03; }
.dark_icons #top_bar #edit_link {color:#cfc1ae;}
#top_bar #edit_link, #top_login a, #footer a, #top_bar a {color:#cfc1ae;}
#page_title {
font-size:15px;
color: #cfc1ae;
}

#timeline_holder {
background-image: url(http://www.maclaughlinstudios.com/Plurk/Verklempt/Verklempt.png);
}

#timeline_bg .day_start .div_inner {
background: #79683e;
opacity: 0.4;
-moz-opacity: 0.4;
filter: alpha (opacity = 40);
}

.p_img { border:1px solid #190d03; }
#bottom_line { opacity: 0.5; filter:alpha (opacity=50);
}

/* Get rid of your plurk character*/
#dynamic_logo { opacity:0;filter:alpha(opacity=0);zoom:1
}

/* Get rid of the annoying little search form*/
#mini_search form { opacity:0; filter:alpha(opacity=0);zoom=1
}

#mini_search form:hover { opacity:1; filter:alpha(opacity=100)
}

/* TIMELINE PLURK BOX MODS */

/* Transparent Plurk Boxes courtesy of HELLFROZE */

.plurk_cnt {background: url(http://www.maclaughlinstudios.com/Plurk/Verklempt/latteplurk.png)!important }
}

.plurk_box .plurk_cnt { border-bottom: 1px solid #79683e; }
.plurk_box .list {
border-right:1px solid #79683e;
}
.plurk_box .mini_form {
border-right:1px solid #79683e;
border-bottom:1px solid #79683e;
}
.plurk_box .caption, .plurk_box .list{
border-right: 1px solid #79683e;
}
.info_box {
-moz-border-radius: 0px 0px 8px 8px;
border-right: 1px solid #79683e;
}

#bottom_line, .day_bg .div_inner, #time_show { background:url(http://www.maclaughlinstudios.com/Plurk/Vintage/latteplurk.png)
}
.dots_inner { background:#79683e
}
#updater { background:#79683e
}

.response_count, .caption { background:#190d03!important; color: #cfc1ae!important; font-size:10px; padding:0 0.25em
}
.new .response_count { background:#711d09!important; color:#cfc1ae!important; font-size:10px; padding:0 0.25em
}
.dots .inner { margin-left: 3px; -moz-border-radius:8px 8px 8px 8px;
}

/* PLURK INPUT BOX MODS */

#plurk_form {
background: transparent url("http://www.maclaughlinstudios.com/Plurk/Verklempt/latteplurk.png") repeat;
border-right: 1px solid #79683e; border-bottom: 1px solid #79683e;
z-index: 4; -moz-border-radius: 20px 20px 20px 20px ; padding-bottom: 5px;
-webkit-border-top-right-radius: 21px;
-webkit-border-bottom-left-radius: 21px;
}

/* DASHBOARD MODS */

#karma {
color: #cfc1ae;
}

#plurk-dashboard {
background: #711d09;
border: 1px #79683e;
text-align: justify;
font-size: 8pt;
text-align:justify;
background-repeat: repeat;
padding: 5px;
-moz-border-radius:10px 10px 10px 10px;
}

#plurk-dashboard a{
color:#cfc1ae;
text-decoration:underline;
}

#plurk-dashboard a:hover{
color:#79683e;
text-decoration:underline;
}

#plurk-dashboard h2{
text-transform:uppercase;
background:none;
color:#cfc1ae;
font-weight:bold;
padding:0;
}

#dash-stats table td {
color:#cfc1ae;
}

/*get rid of share your plurk page text*/
#dash-fans div[style]:first-child { position:absolute;opacity:0; font-size:0;height:0;
}

/* get rid of invite boxes*/
#dashboard-invite, #invite_url, #mobile-gfx, #widget-gfx, #twitter-gfx { height:0; position:absolute;opacity:0; filter:alpha(opacity=0); zoom=1
}

/* Rounded & Colored Filter Tabs */

#filter_tab a.filter_selected {
-moz-border-radius: 2px 2px 2px 10px; background:#cfc1ae; color: #190d03;
-webkit-border-bottom-left-radius: 11px;}

#filter_tab .off_tab { -moz-border-radius: 2px 2px 10px 2px;
background: url(http://www.plurkpix.com/pix/1zl.png) ;
color: #cfc1ae; background-color: #711d09;
-webkit-border-bottom-right-radius: 11px; }

.p_img { -moz-border-radius: 3px 5px 3px 5px; border: solid 1px #cfc1ae;
-webkit-border-bottom-left-radius: 5px;},
fieldset, img { -moz-border-radius: 3px 5px 3px 5px;
-webkit-border-bottom-left-radius: 5px}