各位达人,我现在需要为一个dotNet的系统制作安装程序.现在遇到了如下问题:
我需要修改 .NET Framework配置,调整区域安全性级别,将受信任站点的安全性级别调到完全信任,由于我不知道怎么通过C#编程实现或者WSH脚本实现,所以我创建了一个部署包来实现我的要求(B.msi).
我为了这个系统创建了安装项目A,生成安装文件为A.msi,在此,我重载了A的Install类,在安装过程中,我通过自定义操作运行修改安全级别的B.msi,此时,安装出现异常,好像Windows Installer允许同时运行一个msi文件,所以在执行A.msi文件安装时将不能执行B.msi.
请问,我有什么办法可以在A.msi执行后自动的调用B.msi?
或者,如果可以用代码或脚本解决调整区域安全性级别的话也好啊!
在线急等,红色求救.先谢过了阿!
我需要修改 .NET Framework配置,调整区域安全性级别,将受信任站点的安全性级别调到完全信任,由于我不知道怎么通过C#编程实现或者WSH脚本实现,所以我创建了一个部署包来实现我的要求(B.msi).
我为了这个系统创建了安装项目A,生成安装文件为A.msi,在此,我重载了A的Install类,在安装过程中,我通过自定义操作运行修改安全级别的B.msi,此时,安装出现异常,好像Windows Installer允许同时运行一个msi文件,所以在执行A.msi文件安装时将不能执行B.msi.
请问,我有什么办法可以在A.msi执行后自动的调用B.msi?
或者,如果可以用代码或脚本解决调整区域安全性级别的话也好啊!
在线急等,红色求救.先谢过了阿!
2.如果你不知道C#的脚本来执行你这个比较怪异的操作(这个在程序的角度应该属于运行前提或者运行环境之类的配置),你的B.MSI又是怎么制作出来执行这个操作的?
我觉得调低信任的安全级别实际上也就是操作注册表吧,上网搜索一下看看..
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
string vdir = this.Context.Parameters["vdir"];
string filename = vdir + "res\\miscfg.msi";
ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = vdir + "res";
psi.FileName = vdir + "res\\miscfg.msi";
psi.UseShellExecute = true;
Process.Start(psi);
}
我是这样做的,不过好像不行.
我就是使用这个功能创建的部署包B.msi,如果单独的执行B.msi确实可以实现我的要求的.