-1
我正在嘗試構建一個程序來安裝我們的醫院msi軟件包。用C#編程安裝msi
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WindowsInstaller;
using System.Diagnostics;
namespace TestApp
{
public class InstallerTest
{
public static void Main()
{
//Type type = Type.GetTypeFromProgID("WindowsInstaller.Installer");
//Installer installer = (Installer)Activator.CreateInstance(type);
//installer.InstallProduct("C:\\Paragon_12.1.msi /qn ADDLOCAL=DR,PI,MR,OM,PM,PV,RA,RM,RG,SR,ST,TR,AP,AS,GL,JS,PP,QM,UR,CC,ED,FA,LB,MM,MA,OR,PS,PR,RX,CR,RD,RS KEY_CC=blank KEY_ED=blank KEY_FA=blank KEY_LB=blank KEY_MA=blank KEY_MM=blank KEY_OR=blank KEY_PR=blank KEY_PS=blank KEY_RD=blank KEY_RS=blank KEY_RX=blank, @"C:\Paragon_12.1.msi");
Process process = new Process();
process.StartInfo.FileName = "msiexec.exe";
process.StartInfo.Arguments = string.Format("/qn ADDLOCAL=DR,PI,MR,OM,PM,PV,RA,RM,RG,SR,ST,TR,AP,AS,GL,JS,PP,QM,UR,CC,ED,FA,LB,MM,MA,OR,PS,PR,RX,CR,RD,RS KEY_CC=blank KEY_ED=blank KEY_FA=blank KEY_LB=blank KEY_MA=blank KEY_MM=blank KEY_OR=blank KEY_PR=blank KEY_PS=blank KEY_RD=blank KEY_RS=blank KEY_RX=blank, @"C:\Paragon_12.1.msi");
process.StartInfo.Verb = "Open";
process.Start();
process.WaitForExit();
}
}
}
我來到了這個,但是當我運行它,那隻能說明我的開關,我可以使用,我想以靜默方式安裝該程序,並添加序列號也它。它在一個bat文件中工作。
您的string.Format包含不匹配的引號 – AaronLS 2014-09-26 16:51:14
您的格式字符串看起來不太好。你是否缺少一些引號?並且您從未在參數字符串中嵌入參數「{0}」。 – mason 2014-09-26 16:51:18
你需要查看'string.Format'的工作方式,你正在使用的是格式化的參數。你錯過了這樣的事情,例如'「{0}」等...然後填寫參數的值 – MethodMan 2014-09-26 16:54:08