概述
我们目前正在使用installsheild 2012创建一个基本的MSI包,将我们的软件交付给客户。
我是一个自学与安装,所以我怀疑我是否会遵循最佳实践,但我有一个合理的理解定制行动,安装脚本和对话框。我对目录编辑器和属性管理器有点不确定,所以如果需要这些,请慢慢来。
在安装过程中,用户要求他们能够将我们的一个文件夹安装到他们的系统上的另一个驱动器上,因为其中充满了日志信息,并且有可能相当大。因此,该文件夹需要安装在INSTALLDIR之外。
Aim
我希望创建一个对话框,使用户能够在安装期间为该文件夹选择安装位置。
这个过程需要通过用户界面来完成,因为它需要相当灵活,因为日志文件夹的内容可以在不同的客户端之间进行更改。
因此,理想情况下,我希望在应用程序数据\文件和文件夹\目标计算机中可以看到一个文件夹,这是接口的一部分,它允许在我之后来维护项目的人简单地将文件夹拖放到那里。
虽然文件夹的管理将需要通过用户界面来完成,但这个过程的背后,即选择文件夹,然后复制文件,只要我有几个指针来帮助我,就可以以任何方式实现。
我已经尝试过的
1.Installscript & Custom -我为使用AskPath编写了一个自定义操作,该操作将确定用户选择安装日志文件夹的位置,然后在那里创建一个目录。我会在安装脚本中硬编码日志文件夹的内容(但是,由于文件夹结构可以更改,这种方法变得很难维护)
2.Components & feature -我尝试使用日志文件夹作为一个单独的特性,并有它自己的组件,但我无法从对话框中获得该属性,并将该组件与将选择在何处安装日志文件夹的对话框链接起来。
3.先决条件-我在网上查看后发现,通过将日志文件夹压缩到自动解压的Zip中,我可能可以通过pre管理器安装日志文件夹(我还没有这方面的任何运气,我希望有一种更干净的方法)。
我想我在做一些我想做的事情时,可能已经接近了,但是我一直在死路一条。
任何帮助都是非常感谢的,谢谢你的阅读,我知道这是一个很长的帖子。
考斯顿
发布于 2012-07-16 18:57:14
就这么做吧:
在安装程序中创建两个目录:
INSTALLDIR = ProgramFilesFolderCompany\Product = INSTALLDIRLogs
然后查看目标文件夹对话框。克隆所有为INSTALLDIR创建各种图标、文本和浏览按钮的控件。
将显示文本从INSTALLDIR更改为LOGDIR。接下来,在Browse按钮上复制控制事件,并将_BrowseProperty值更改为LOGDIR,而不是INSTALLDIR。
就这样。LOGDIR将启动INSTALLDIR的一个子级,但是如果用户按下Browse并更改它,那么这个关系就被打破了。然后您可以更改INSTALLDIR,它不会更改LOGDIR。
https://stackoverflow.com/questions/11507661
复制相似问题