Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET(C#)安装项目。包括其他软件包问题_.net_Installation - Fatal编程技术网

.NET(C#)安装项目。包括其他软件包问题

.NET(C#)安装项目。包括其他软件包问题,.net,installation,.net,Installation,伙计们。 我在VS2008中创建了一个安装项目,它可以自行安装。 但是,此安装程序安装的项目依赖于组件(主要是ESRI),这些组件也必须安装在目标计算机上。 我们有一个单独的ESRI安装程序,它由msi srcipt以及6个文件夹组成,其中包含此msi用户使用的子文件夹。我似乎不知道如何将其包含到我的安装项目中,以便目标用户只运行一个完整的包。 我尝试了以下几乎有效的方法: 1.在解决方案中再创建一个类库项目 2.添加了安装程序类 3.重写安装方法并写入 string path=Assembly

伙计们。 我在VS2008中创建了一个安装项目,它可以自行安装。 但是,此安装程序安装的项目依赖于组件(主要是ESRI),这些组件也必须安装在目标计算机上。 我们有一个单独的ESRI安装程序,它由msi srcipt以及6个文件夹组成,其中包含此msi用户使用的子文件夹。我似乎不知道如何将其包含到我的安装项目中,以便目标用户只运行一个完整的包。 我尝试了以下几乎有效的方法: 1.在解决方案中再创建一个类库项目 2.添加了安装程序类 3.重写安装方法并写入

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 properties(检测依赖项属性)对话框中配置了.NET dependencies,以便从包中包含的完整dotnetfix安装这些依赖项,并且运行良好,我认为我可能会以某种方式迫使安装程序“认为”ESRI也依赖于项目,但还没有结果)。 有什么建议吗


现在,我们还需要自动化一些安装程序包(如SqlServer2008),以最大限度地减少用户交互。事实上,我们想从安装程序中取消一些对话框(不要提供使用SoftIce的服务-不幸的是,我们不是黑客)。我的一个朋友指出了一些AutoIt项目。是吗?

您可以添加自定义先决条件以引导任何可再发行的包。请查看以下链接

添加自定义先决条件:

创建自定义软件包: