人。 我在VS2008中创建了一个安装项目,它可以自行安装。 但是,此安装程序安装的项目依赖于组件(主要是ESRI),这些组件也必须安装在目标计算机上。 我们有一个单独的ESRI安装程序,它由msi srcipt以及6个文件夹组成,这些子文件夹位于这个msi用户的子文件夹中。我似乎无法弄清楚如何将其包含到我的安装项目中,以便目标用户只运行一个完整的包。 我尝试了以下几乎的工作原理: 1.在解决方案中再处理一个类库项目 2.为其添加了安装程序类 3.Overrode Install方法并写了
string path=Assembly.GetExecutingAssembly().Location;
Process.Start(Path.Combine(path, "esriinstaller.msi"));
4.将msi文件添加到安装程序项目的输出文件夹窗格中 这不是很有效b / c:a)路径没有指向启动安装程序的目录(实际上我尝试了Assembly.Get ...()的各种组合.BasePath方法 - 这些方法产生Windows \ System32或目标文件夹)b)我还必须手动将所有ESRI文件夹复制到安装程序的包目录(... bin \ Release)
那么,有没有一种有文化的方法可以将该软件包添加到我的安装程序中? (我在Detected Dependencies属性对话框中配置了.NET依赖项,以安装包中包含的完整dotnetfix的那些,并且它工作正常,我想可能是我可能以某种方式迫使安装程序“认为”ESRI也依赖于项目,但还没有结果)。 有什么建议吗?
现在,我们还需要自动化一些安装程序包(如SqlServer2008)以最大限度地减少用户交互。事实上,我们想要安装一些对话框(不提供使用SoftIce - 我们不是黑客,不幸的是)。我的一个朋友指出了一些AutoIt项目。是吗?
答案 0 :(得分:1)
您可以添加自定义先决条件来引导任何可再发行组件包。请检查以下链接。
添加自定义先决条件 http://msdn.microsoft.com/en-us/library/ms165429(VS.80).aspx
创建自定义程序包: http://msdn.microsoft.com/en-us/library/ms165429.aspx