vs2010 安装与部署(自定义操作问题)

时间:2022-08-15 12:30:46
我现在已经做好了一个基本的安装包,但是想添加两个自定义操作。遇到以下两个问题:
1.我想在用户安装好我制作的安装包之后,自动运行安装另外一个本来就已经存在的安装程序(exe安装包)。我尝试在自定义操作编辑器的commit一栏中直接添加该exe安装包,但是失败了(因为这个时间点第一个安装包还没彻底运行完,会报错说有一个安装程序在进程中)。请教怎么实现该问题。
2.我想确认下自定义操作是不是只能在install,commit,uninstall和rollback这四个地方添加?能不能在安装程序运行时更早的阶段中添加。

20 个解决方案

#1


用第三方安装工具,如installshield等

#2


规定只能用vs自带的安装与部署功能,因为好像做64位的安装包installshield要付费的。
引用 1 楼  的回复:
用第三方安装工具,如installshield等

#3


自己顶,没人知道吗

#4


再顶。

#5


一个安装程序在进程中  这种错误好像VS的Setup工程解决不了。

#6


非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。
引用 5 楼  的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。

#7


引用 6 楼  的回复:
非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。引用 5 楼  的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。


因为 recursive MSI installs are not allowed. 因此,选择不多。

1. 你不使用vs 的setup工程
2. 第三方是否提供非MSI方式的安装包(也就是不需要Windows Installer进行安装)

#8


非常谢谢你的回答,首先我领导规定这个要用vs 的setup工程来做。
我说的另外一个现成的安装包是用installshield制作的,这样也不能递归调用是吗?还有就是recursive MSI installs are not allowed.这句话是msdn里的吗,如果是的话麻烦吧网址发给我看下好吗,或者msdn里有类似的话也可以(我没有找到),这样我可以和领导说没办法实现这个功能。真的感谢。
引用 7 楼  的回复:
引用 6 楼 的回复:

非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。引用 5 楼 的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。


因为 recursive MSI installs are not allowed. 因此,选择不多。

1. 你不使用vs 的setup工程
2. 第三方是否提供非MSI方式的安装包(也就是不……

#9


再顶。

#10


顶顶顶

#11


你可以再写一个简单的控制台小程序,用Process.Start先调用你的安装程序,在调用第三方的安装包

#12


引用 8 楼  的回复:
非常谢谢你的回答,首先我领导规定这个要用vs 的setup工程来做。
我说的另外一个现成的安装包是用installshield制作的,这样也不能递归调用是吗?还有就是recursive MSI installs are not allowed.这句话是msdn里的吗,如果是的话麻烦吧网址发给我看下好吗,或者msdn里有类似的话也可以(我没有找到),这样我可以和领导说没办法实现这个功能。真的感谢……


msdn社区里的回答:
http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/fbf40cb2-57e6-4a5e-864b-e190ecffa342

#13


Msdn上的描述:
Do not ship concurrent installations.
http://msdn.microsoft.com/en-ca/library/bb204770.aspx#concurrent_installs

#14


倒是发现了一种方法可以执行nested MSI,但是需要自己手动改安装包中的Table,估计比较麻烦。

参考:
How to create a nested .msi package
http://support.microsoft.com/kb/306439

#15


http://wenwen.soso.com/z/q229401641.htm

根据你的描述你可以这样!

#16


我也遇到这个问题了

#17


我也想在安装完成之后去执行一些命令和程序。。。

#18


这个问题最后怎么解决的..

#19


可以考虑采用 Inno Setup ,这个是开源的打包工具,采用pascal 语言定制你的安装程序,楼主的这个需求完全可以实现,只是需要花点时间学习一下 pascal  编程。
我的一个博客:http://blog.csdn.net/lanmangfeige/article/details/38928031

#20


 Inno Setup 好一点 控制比较方便

#1


用第三方安装工具,如installshield等

#2


规定只能用vs自带的安装与部署功能,因为好像做64位的安装包installshield要付费的。
引用 1 楼  的回复:
用第三方安装工具,如installshield等

#3


自己顶,没人知道吗

#4


再顶。

#5


一个安装程序在进程中  这种错误好像VS的Setup工程解决不了。

#6


非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。
引用 5 楼  的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。

#7


引用 6 楼  的回复:
非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。引用 5 楼  的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。


因为 recursive MSI installs are not allowed. 因此,选择不多。

1. 你不使用vs 的setup工程
2. 第三方是否提供非MSI方式的安装包(也就是不需要Windows Installer进行安装)

#8


非常谢谢你的回答,首先我领导规定这个要用vs 的setup工程来做。
我说的另外一个现成的安装包是用installshield制作的,这样也不能递归调用是吗?还有就是recursive MSI installs are not allowed.这句话是msdn里的吗,如果是的话麻烦吧网址发给我看下好吗,或者msdn里有类似的话也可以(我没有找到),这样我可以和领导说没办法实现这个功能。真的感谢。
引用 7 楼  的回复:
引用 6 楼 的回复:

非常感谢你的回答,如果不能解决,那请问怎么样可以实现我想要的功能呢。引用 5 楼 的回复:
一个安装程序在进程中 这种错误好像VS的Setup工程解决不了。


因为 recursive MSI installs are not allowed. 因此,选择不多。

1. 你不使用vs 的setup工程
2. 第三方是否提供非MSI方式的安装包(也就是不……

#9


再顶。

#10


顶顶顶

#11


你可以再写一个简单的控制台小程序,用Process.Start先调用你的安装程序,在调用第三方的安装包

#12


引用 8 楼  的回复:
非常谢谢你的回答,首先我领导规定这个要用vs 的setup工程来做。
我说的另外一个现成的安装包是用installshield制作的,这样也不能递归调用是吗?还有就是recursive MSI installs are not allowed.这句话是msdn里的吗,如果是的话麻烦吧网址发给我看下好吗,或者msdn里有类似的话也可以(我没有找到),这样我可以和领导说没办法实现这个功能。真的感谢……


msdn社区里的回答:
http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/fbf40cb2-57e6-4a5e-864b-e190ecffa342

#13


Msdn上的描述:
Do not ship concurrent installations.
http://msdn.microsoft.com/en-ca/library/bb204770.aspx#concurrent_installs

#14


倒是发现了一种方法可以执行nested MSI,但是需要自己手动改安装包中的Table,估计比较麻烦。

参考:
How to create a nested .msi package
http://support.microsoft.com/kb/306439

#15


http://wenwen.soso.com/z/q229401641.htm

根据你的描述你可以这样!

#16


我也遇到这个问题了

#17


我也想在安装完成之后去执行一些命令和程序。。。

#18


这个问题最后怎么解决的..

#19


可以考虑采用 Inno Setup ,这个是开源的打包工具,采用pascal 语言定制你的安装程序,楼主的这个需求完全可以实现,只是需要花点时间学习一下 pascal  编程。
我的一个博客:http://blog.csdn.net/lanmangfeige/article/details/38928031

#20


 Inno Setup 好一点 控制比较方便

#21