怎样将MSDE Sp3打包进.Net安装项目中? >h@b F{H
1、创建安装项目“Setup1”安装项目 $EP/X4N 9
在“文件”菜单上指向“添加项目”,然后选择“新建项目”。 i#DL"+rpW:
在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中键入 “setup1”。 c9| 5Y
单击“确定”关闭对话框。 /Aa75C
项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。 T3qDpjs
在“属性”窗口中,选择 ProductName 属性,并键入”亿万电器成套报价系统”。 vBm=d|
2、下载 `1sLOgB
MSDE Sp3 j/?hM^c0T7
安装程序与MSI安装文件修改器(Orca)工具。 amM.~sYSV
3、选择“文件系统编辑器”,在“视图“菜单上指向“添加”,然后选择“合并模块…”(Merge Moudle),在添加模块中,找到MSDE sp3安装文件所在目录,将MSM和MSM/1033下的所有文件,添加进来。 O^,.Mqr9~,
在安装项目Setup1的属性(Properties)中的“Search Path”,添加MSM和MSM/1033目录。 RhNTj;W*6M
单击“生成菜单下的“生成解决方案”,编译Setup1安装项目工程。 ]^1gT7b
用Orca MSI安装文件修改器打开生成的安装包(Setup1.msi)文件,在左列的表栏中 rn'Q`r
选择“InstallExecuteSequence”表,修改下面的属性值: KFmqrb"
GetSqlStates.XXXXXX 103改成421 uRB_P3|
RemoveExistingProducts值改成1800 nxc-0M O
InstallInitialize值改成1799 !s@WA~C8R
在InstallUISequence [ /lE?o
选择“InstallUISequence”表,修改下面的值: 0BK g<XpOJ
GetSqlStates.XXXXXX 103改成421 Y,=wfK
选择“Property”表,添加以下三个属性: YI,XF0
SqlInstanceName:MSDEDH实例服务名 ~; 6'T De
SqlSecurityMode:SQL(不加这行确实也行,就是没办法用SQL模式登录) e*|oFx
SqlSaPwd:sa的密码 HmZMll~
1iO{9oWUzG
连接测试: T8"Vm#T
单击修改过的Setup1.msi安装文件,确认是否能够安装; @M{!dG1
osql -S 机器名/MSDEDH实例服务名 -U sa -P sa密码 t @4}Kn$n
能够进去——>OK!打包成功!
怎样将MDAC打包进.Net安装项目中? $i.=A^9f>
jda :M"T_S
~ I !Z
在“解决方案资源管理器”选择Setup1安装项目工程,选择“视图”菜单,指向“启动条件”,打开“启动条件”管理器。 H ANYcC7
(Ks>cv <
在"启动条件"管理器中,右键点击"目标计算机上的要求",在弹出的的菜单中选择"添加注册表启动条件"。你会发现在"搜索目标计算机"中多了一项"搜索 RegistryEntry1",在"启动条件"中多了一项"Condition1"。 6%}d/h
|6/'5"tH
选择"搜索 RegistryEntry1",在"属性"对话框中填写如下内容: 6*=?oF
K}xa} A2Uc
Property:MDACSEARCH dMeA 20,7L
w6g :$g
RegKey:Software/Microsoft/DataAccess E^!5 Ch(.
;G'Y1|"
Root:vsdrrHKLM BseHkbTv
[Wj%mECq
Value:FullInstallVer ryY:K{*vx
(lB=Y wc
选择"Condition1" ,在"属性"对话框中填写如下内容: LE$"BF#K
%JoR9jdZ
Condition:MDACSEARCH>="2.6" i%hl^rP
1>lKm1
进行这一步是因为在安装.NET框架的时候需要MDAC。
怎样制作.Net卸载程序? @Bp}89}
s<{8_[(F
方法一: )+g0,!4
4]+70`
在打包项目中添加文件msiexec.exe(一般在c:/windows/system32(系统目录中)找到)。 TE# ?lB
?,|3|K+3
在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择“创建快捷方式”,重命名快捷方式为“uninst”. S"<%9L
)(e4w
更改此快捷方式Argmuments为“/x {产品ID}”,产品ID的值为打包项目的ProductCode属性值。 8~V O7gS
Ur ?|DI
方法二: ZO't~h
3j#-w<0&&
先生成安装包,记下ProudctCode(选择解决方案资源管理根目录如Setup1,再查看属性标签,不是右键属性),下面用到 o8K4Wgr
i$sJWP@
用Vs.Net 建立一个新的控制台程序uninst.exe文件。 qZH! *0~
$IO3Qm&s
代码如下: d#:L +oc
VouGY>R
using System; X"L=%=Mn
3xuV@A E
^R X=H+Foj
Y`/5otrB
namespace uninst eB>&Z+&e)K
8`x5?Th7
{ Eh@V]
(8 5U$)nf
/// <summary> !:i]op%k
Xz)OBT?pF
/// Class1 的摘要说明。 l=! lO
EMUw~jW$V
/// </summary> /e*?7#nB
.+A7,
class UnInstall /mw r"y
,Q^;-6!U]
{ cNV:e8m ;
hJDjTr)
/// <summary> RG*9 :``1
/q^20 (40
/// 应用程序的主入口点。 1r79P-
G#$%' g0u
/// </summary> %GvuA=eO+o
OlO,@BM>BZ
[STAThread] :Ls%f4|*q
RJ}F5c]P
static void Main(string[] args) e@;6igl
Xvn,mZ4
{ n 2/8n 7
1u zG:p~
string sysroot = System.Environment.SystemDirectory; guN'`B
vlw2d1s=G
System.Diagnostics.Process.Start(sysroot + "//msiexec.exe", "/x {850FED90-20D0-4EBA-BEDB-3D9DBA25F6EC} /qr"); wja!g Wq
l}akZv#
} qTX]Fulh
SxhF4hat
} l"X^#<
L)K 1O]H
} 'x5"QtIj
fvENRJ:
编译过后,将生成的uninst.exe文件添加到安装包中,重新生成安装项目。