c# - 使用子文件夹中的 C# 进程安装带有 setup.exe 的程序,包括多个 msi 文件
问题描述
在我的C#
WPF
应用程序中,我想安装另一个程序。另一个程序由一个 setup.exe、多个 msi 文件和一个 vcredist.exe 组成。我需要启动 setup.exe,因为它会将一些参数和信息移交给 msi 文件,并为程序的现有版本使用更新功能。所以我不能直接启动msi文件。
programPath = programPath + @"\setup.exe";
Process programsetup = Process.Start(programPath);
programsetup.WaitForExit();
文件存储在我的C#
应用程序的根目录中。我的问题是我无法将文件移动到子文件夹,因为 msi 文件总是在根目录而不是子文件夹中搜索。
现在:
- ..\myApp\setup.exe
- ..\myApp\client.msi
- ..\myApp\host.msi
- ..\myApp\manager.msi
- ..\myApp\vcredist.exe
我的问题:如何将 setup.exe 和 msi 文件移动到子文件夹中并从那里启动?
我想要的是:
- ..\myApp\toolkit\setup.exe
- ..\myApp\toolkit\client.msi
- ..\myApp\toolkit\host.msi
- ..\myApp\toolkit\manager.msi
- ..\myApp\toolkit\vcredist.exe
当我这样做时,我在设置过程中遇到错误:..\myApp\client.msi not found.
解决方案
此代码将直接启动 setup.exe。
属性 -> 右键单击 Open to Resources.resx -> 左上角添加现有文件 -> 选择文件。
byte[] resourceFile = Properties.Resources.setup;
string destination = Path.Combine(Path.GetTempPath(), "setup.exe");
System.IO.File.WriteAllBytes(destination, resourceFile);
Process.Start(destination);
推荐阅读
- vim - 一键重复上次搜索?
- metrics - 计算递归函数时的圈复数
- c# - 为正确的数据传输构建 TCP 消息
- nuget-package - init.ps1 未执行(nuget 包)
- javascript - Javascript函数未定义错误
- javascript - 使用 JavaScript 或 css 将动态下拉列表链接到另一个页面
- comments - 如何使用 SPOON 获得评论?
- python-3.x - Python Webdriver - Firefox 配置文件 - 错误代码:SEC_ERROR_UNKNOWN_ISSUER -
- python - 将 JSON 导入 pandas 数据框错误
- python - 实例方法作为函数对象