C#程序打包如何自动安装.net framework 2.0

我用vs2005自带的打包功能打包:
"安装项目"中的[系统必备],勾选.net Framework 2.0,在窗口下方的[指定系统必备组件的安装位置]中选择[从与我的应用程序相同的位置下载系统必备组件],然后dotnetfx.exe放在应用程序文件夹目录中,但在没有装.net环境的机器上还是自动安装.net Framework
用Setup Factory 7.0打包
1、在“资源”的“原始文件”中添加net Framework 2.0(例如dotnetfx.exe)
2、再在“操作”的“启动”中增加如下代码:
result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\.NETFramework\\policy\\v2.0");
if (result == false) then
result = File.Run(SessionVar.Expand("%TempLaunchFolder%\\dotnetfx.exe"), "", "", SW_SHOWNORMAL, true);
end
这样设置了,但也是安装不了.net Framework

我用了这两种方式都不在没装.net环境的机器上自动安装.net Framework ,
请教各位朋友,入股才能让自动检测并安装.net Framework?
注:谢绝copy来的内容

第1个回答  2009-12-21
你的发布安装程序的步骤里在环境里选择了.net Framework 所以你在没有.net Framework 的环境中安装程序时总会提示你要安装.net Framework
你的安装程序实际上是自动检测.net Framework 有没有安装的。
你可以做个测试,在没有.net Framework 环境的电脑上
第一步:安装一边的程序,他会提示你安装.net Framework
第二步:等程序安装玩后,在控制面板的添加删除程序里你可以看到
.net Framework 和你的安装程序。这时候你可以把你的安装程序

卸 载 掉

第三步:再次安装你的程序,你会发现他并没有提示你要你安装
.net Framework ,而是直接安装你的程序。
第2个回答  2009-12-22
最好不要使用 .net 自带的,因为.net 自带的,用NextInstaller 很方便,里面有就有关于自动检测并安装.net Framework的例子本回答被提问者采纳
第3个回答  2009-12-21
打包的时候会自动将framework拷贝在你的安装包生成的目录下,不需要你自己拷贝进去。发布出去。安装的时候双击“setup.exe”,而不是双击.msi. 那么它就会自己去检测。没有就自动安装 framework了。
相似回答