InstallShild的研究,msde2000,.netframwork,ScriptProject与ScriiptMSIProject的区别
InstallShild的研究
Installshild自带的为MSDE2000 OBJECT FOR NT PLATFORMS为英文版非SP3版本
于是将msde2000ReleaseA版的SqlRun01.msi,sqlRun.cab拷到objects"ismsde2000"redist覆盖文件
经测试可以以正常安装;
添加MSDE2000模块后,弹出的配置窗口配置如下:
实例名:
使用SQL安全模式:
设置SA密码:
允许网络连接:
设置安装后的选择:
第四项勾选后,安装完毕将自动启动MSDE2000服务(好象有启动权限问题)
installShield自动判断指定实例名的MSDE是否安装,检测到已安装,则会跳过.
包含.net frameworker1.1框架的问题:
其中Display .NET Option Dialog和Show Full User Interface When Installing .NET FrameWork按字面理解应该是用于在安装过程中是否显示.net框架自己的安装提示,可以隐藏起来.
Display .net option dialog:显示是否安装.net framework框架的提示窗口
Show full user interface when installing .net framework:显示安装.net framework框架的全过程
如果为NO,则不会显示框架安装的明细,这个过程约法3-4分钟,时间较长,注意取舍
如果显示,中途会提示是否安装语言包
InstallShiled会自动判断客户机是否已经安装.net框架,只在检测到未装时,才启动框架安装
问题:怎样实现让用户选择是否安装MSDE2000
为了实现由用户选择"服务器版"安装,和"客户版"安装,来决定安装的子模块。
现在的情型是:Setup Typ设置后,在实际安装过程中无效
还是会出现三个选择(典型/最小/自定义),但是有出现安装项目树
表现为在装完.net frameworker1.1框架后,就会启动msde2000的安装,我的原意是用户选择“服务器端安装”时才进行数据库的安装。
当installshield项目在生成时,生成的目标文件夹不能处于打开状态,否则会提示错误
2006-10-25
注意InstallScriptProject与InstallScriiptMSIProject的区别
后者在集成环境中加入了对msi文件的支持,比较可自动生成卸载快捷方式(直接调用Msiexe.exe),在安装程序生成时配置.NET环境.
而前者的生成界面中没有直接配置.NET环境的选项,只能通过ApplicationDate.Objects附加
最大的区别在于ApplicationData中的附加项的
InstallScriptProject InstallScriptMSIProject
以MSI方式构建安装包时,可以自动寻找到.NET程序的关联DLL,并会被打包进来
而以Script方式构建的安装包,经测试,需要配置专门的属性,其关联DLL才会被打包进来
.NET Assembly=Local Assembly
对于附加条件组件,前者添加界面为:
后者为::
重点在于,InstallScriptMSIProject中添加的MSDE2000组件不能由用户决定是否安装,是被当成一个必装组件,在安装界面初始(欢迎窗口出现之前)时就会开始安装,其文件位于objects" ISMSDE2000.msm
而InstalScriptProject中添加的.NET框架与MSDE2000Object可以在用户选择”完整”还是”自定义”中被自由选择,其文件位于objextpro"msde2000object,而且默认的版本都是英文版的,而且还没找在哪里设置语方或版本,于是直接将.NET Framework1.1中文版替换ObjectsPro"MS .NET Framework 1.1 Object"Data"redist"dotnetfx.exe;将MSDE2000A的目录覆盖目录ObjectsPro"MSDE 2000 Object"Data"MSDE2000"下的文件,经测试,可以替换并打包安装成功.但是同时选择安装.NET Framework和MSDE2000时,速度较慢.
注:InstallScriptProject中的MSDE2000object的配置界面与MSDE2000object for net plamform不同,而且前者没有对是否允许网络访问参数的设置,还需要观察
MSDE2000安装时,如果将此项打钩,会使”添加删除”列表中,该MSDE2000项没有”删除”按钮
研究发现在注册表的Uninstall节点中的对应MSDE2000子节点中有一个NoRemoved=1,将其删除
可实现卸载
将alinkcrmone用installscriptproject方式打包,并完整安装MSDE,NETFramework,整个过程耗时4’47’’
2006-10-26
在MSDE2000安装时禁用网络连接的情况下DISABLENETWORKPROTOCOLS=1(默认),通过svrnetsn.exe配置器可十分方便地开启或禁用网络连接
经实验,开启了TCP /IP协议后,通过Osql –S alink004\alinksoftmsde –U sa –P ***连接成功!
不过还没找到通过命令行方式修改连接方式的方法