【发布时间】:2011-03-06 10:03:30
【问题描述】:
请说出你的想法:
在解决方案文件中,我有两个项目 PROJECTA 和 SETUP 项目。创建 PROJECTA 的安装程序后,安装程序“example.msi”包含 PROJECTA.exe(或活动输出 ) 的项目。
在安装“example.msi”时,我想在后台运行 PROJECTA.exe。
我尝试了自定义控件和安装程序类
如果给出了 exe 的路径(如下所示),它可以正常工作。但这不是预期的行为,我希望在安装之前将 example.msi 中的 PROJECTA.exe 复制到该位置,以便我可以在安装期间从那里运行。
如何做到这一点。
C# 语法:
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
string s="C:\\xxx\\PROJECTA.exe";
System.Diagnostics.Process.Start(s);
}
提前谢谢你。
【问题讨论】:
-
这没有意义,也不是推荐的方法。如果您需要应用程序的某些功能,正确的方法是在自定义操作(EXE 或 DLL)中移动该功能。这样,在安装期间使用自定义操作并仅执行安装操作,并且您的应用程序安装在目标计算机上并用作应用程序。
标签: .net setup-project custom-action