Update: 24 Mar 2011: Just wanted to add that I've had a look at WIX now and it looks great, I can see very clearly now how to get a nice sleek MSI based installer done that should do everything we need. Thanks very much for the assistance, much appreciated.
更新:2011年3月24日:只是想补充说我现在已经看过WIX它看起来很棒,我现在可以非常清楚地看到如何获得一个完美的基于MSI的安装程序,应该做我们需要的一切。非常感谢您的帮助,非常感谢。
We deploy a product which has both server and client components. The client is currently a VB6 application (yes, yes I know...) and it uses an InstallShield installer to produce an EXE that we give to the client to go and deploy on all their workstations.
我们部署了一个同时具有服务器和客户端组件的产品。客户端目前是一个VB6应用程序(是的,是的,我知道......)并且它使用InstallShield安装程序生成一个EXE,我们将其提供给客户端以在其所有工作站上进行部署。
That's all fine and dandy when there are ten, but when there are 100 they understandably get a bit grumpy :)
当有十个时,这一切都很好,但是当有100个时,他们可以理解得有点脾气暴躁:)
Some of our customers are using Microsoft System Centre to automate their software roll-outs and they have asked us to get our client compatible with this so that they can deploy automatically.
我们的一些客户正在使用Microsoft System Center自动化他们的软件推广,他们要求我们让我们的客户端与此兼容,以便他们可以自动部署。
I have no experience with System Centre, so while i'm trying to build up my own experience I thought i'd drop a question in here and see if some of you experts could help accelerate the process.
我没有使用System Center的经验,所以当我试图建立自己的经验时,我想我会在这里提出一个问题,看看你们中的一些专家是否可以帮助加快这个过程。
Basically, what do I need to produce in order to have an installer that is good for deployment automatically via Microsoft System Centre?
基本上,我需要生成什么才能拥有一个适合通过Microsoft System Center自动部署的安装程序?
I think i've found out so far that it needs to be an EXE, an MSI or an MSP.
我想我到目前为止已经发现它需要是一个EXE,一个MSI或一个MSP。
As I've said, our current installer is an EXE - however it has a fairly standard wizard installer that pops up graphical stuff and asks the user to click next a couple of times. Is that causing a problem? Or should it just work? Or, is it a case of adjusting the InstalAnywhere script to make it fully automated (the UI doesn't really need to be there) ?
正如我所说,我们当前的安装程序是一个EXE - 但是它有一个相当标准的向导安装程序,弹出图形内容并要求用户单击几次。这会导致问题吗?或者它应该工作吗?或者,是否需要调整InstalAnywhere脚本以使其完全自动化(UI实际上不需要在那里)?
I should add that I don't actually know if anyone has tried this and whether the customer question is purely "let me know if it will work" or if they've tried it and it doesn't work... I'm probably heavily leaning towards the latter because I know at one site they've got what seem like knowledgeable IT that are keen to just try things and see what happens rather than constantly waiting for approvals etc.
我应该补充一点,我实际上并不知道是否有人试过这个问题以及客户问题是否纯粹是“让我知道它是否会起作用”,或者他们是否尝试过它并且它不起作用......我是我可能非常倾向于后者,因为我知道在一个网站上他们有一些看起来像知识渊博的IT,他们热衷于尝试一下,看看会发生什么,而不是经常等待审批等。
Lastly a few things off the top of my head...
最后有几件事情在我的脑海中......
App is written in VB6. InstallShield is quite old, i'm currently finding out what the version number is and will update the ticket as required. Target platforms are Windows client, currently up to XP officially but it does work ok on Windows 7 and Vista.
应用程序是用VB6编写的。 InstallShield相当陈旧,我目前正在查找版本号是什么,并将根据需要更新票证。目标平台是Windows客户端,目前正式达到XP,但它在Windows 7和Vista上运行正常。
I'm happy to use a totally different installer if that's the best answer, we're not tied to InstallShield at all, it's only really there for legacy.
我很高兴使用一个完全不同的安装程序,如果这是最好的答案,我们根本不依赖于InstallShield,它只是真正的遗产。
Please let me know if I can provide any more detail!
如果我能提供更多细节,请告诉我!
Matt.
马特。
1 个解决方案
#1
3
This question is very broad so there isn't one answer I can give. Basically I spent 15 years experience writing installers and 2 of those years were on the other side of the house at Continental Airlines ( 18,000 seat AD forest ) receiving installers from companies like yours.
这个问题非常广泛,所以我无法给出一个答案。基本上我花了15年编写安装人员的经验,其中2年在美国大陆航空公司(18,000座AD森林)的房子的另一边接收来自像你这样的公司的安装人员。
Our goal was to be able to silently provision and service software through SMS. Ideally we prefer to receive MSI's because they are in a standardized format and are customizable through the use of transforms. When we would receive non MSI packages we would typically "repackage" them into MSI format. This is a process in which the package is ran through snapshotting / capture tools and the whole thing is reverse engineered and refactored into MSI.
我们的目标是能够通过SMS静默配置和服务软件。理想情况下,我们更喜欢接收MSI,因为它们采用标准化格式,并且可以通过使用变换进行定制。当我们收到非MSI包时,我们通常会将它们“重新打包”成MSI格式。这是一个通过快照/捕获工具运行包的过程,整个过程被反向设计并重构为MSI。
But we didn't always do this. On a (rare) occasion we would receieve a higher quality then average EXE that was 'good enough'. The goals are clear: We must be able to install and uninstall the EXE from the command line with 0 touch by a human. We must also be able to script any configuration settings such as database server name.
但我们并不总是这样做。在一个(罕见的)场合,我们会接受更高的质量,然后是“足够好”的平均EXE。目标很明确:我们必须能够通过人工触摸来从命令行安装和卸载EXE。我们还必须能够编写任何配置设置的脚本,例如数据库服务器名称。
If we could do those things and the impact seemed low risk, we'd accept it as is. Otherwise we went about our business of taking it on ourselves.
如果我们可以做那些事情并且影响似乎风险很低,我们会按原样接受。否则,我们开始自己的事业。
On occasion I would create an installer that was so clean I would think "Man, I wish ABC Software Company had done this themselves." ( Of course I wouldn't have had a job... ) or "I wish we could partner with ABC to contribute this install back to them for everyone else to share in the benefits."
有时我会创建一个非常干净的安装程序我会想“伙计,我希望ABC软件公司自己做到这一点。” (当然我不会有工作......)或“我希望我们可以与ABC合作,将这个安装回馈给他们,让其他人分享这些好处。”
Maybe one of your sites has a really good install guy and you could work something like that out on the cheap. Otherwise I suggest learning MSI and it's best practices and doing a rewrite of your installer.
也许你的一个网站有一个非常好的安装人员,你可以廉价地工作这样的东西。否则,我建议学习MSI,这是最佳实践并重写安装程序。
It was a great experience being at Continental and I now make sure that all of my companies installs won't bring such pain to their customers.
在美国大陆航空公司工作非常棒,我现在确保所有公司的安装都不会给客户带来这样的痛苦。
#1
3
This question is very broad so there isn't one answer I can give. Basically I spent 15 years experience writing installers and 2 of those years were on the other side of the house at Continental Airlines ( 18,000 seat AD forest ) receiving installers from companies like yours.
这个问题非常广泛,所以我无法给出一个答案。基本上我花了15年编写安装人员的经验,其中2年在美国大陆航空公司(18,000座AD森林)的房子的另一边接收来自像你这样的公司的安装人员。
Our goal was to be able to silently provision and service software through SMS. Ideally we prefer to receive MSI's because they are in a standardized format and are customizable through the use of transforms. When we would receive non MSI packages we would typically "repackage" them into MSI format. This is a process in which the package is ran through snapshotting / capture tools and the whole thing is reverse engineered and refactored into MSI.
我们的目标是能够通过SMS静默配置和服务软件。理想情况下,我们更喜欢接收MSI,因为它们采用标准化格式,并且可以通过使用变换进行定制。当我们收到非MSI包时,我们通常会将它们“重新打包”成MSI格式。这是一个通过快照/捕获工具运行包的过程,整个过程被反向设计并重构为MSI。
But we didn't always do this. On a (rare) occasion we would receieve a higher quality then average EXE that was 'good enough'. The goals are clear: We must be able to install and uninstall the EXE from the command line with 0 touch by a human. We must also be able to script any configuration settings such as database server name.
但我们并不总是这样做。在一个(罕见的)场合,我们会接受更高的质量,然后是“足够好”的平均EXE。目标很明确:我们必须能够通过人工触摸来从命令行安装和卸载EXE。我们还必须能够编写任何配置设置的脚本,例如数据库服务器名称。
If we could do those things and the impact seemed low risk, we'd accept it as is. Otherwise we went about our business of taking it on ourselves.
如果我们可以做那些事情并且影响似乎风险很低,我们会按原样接受。否则,我们开始自己的事业。
On occasion I would create an installer that was so clean I would think "Man, I wish ABC Software Company had done this themselves." ( Of course I wouldn't have had a job... ) or "I wish we could partner with ABC to contribute this install back to them for everyone else to share in the benefits."
有时我会创建一个非常干净的安装程序我会想“伙计,我希望ABC软件公司自己做到这一点。” (当然我不会有工作......)或“我希望我们可以与ABC合作,将这个安装回馈给他们,让其他人分享这些好处。”
Maybe one of your sites has a really good install guy and you could work something like that out on the cheap. Otherwise I suggest learning MSI and it's best practices and doing a rewrite of your installer.
也许你的一个网站有一个非常好的安装人员,你可以廉价地工作这样的东西。否则,我建议学习MSI,这是最佳实践并重写安装程序。
It was a great experience being at Continental and I now make sure that all of my companies installs won't bring such pain to their customers.
在美国大陆航空公司工作非常棒,我现在确保所有公司的安装都不会给客户带来这样的痛苦。