请教,我在.net客户端程序里引用了C++的com组件,然后部署时如何实现为com组件的自动注册呢.
手动输入和运行批处理程序都不合适.
在程序开始执行下面函数,
strcmd="regsvr32 -s com组件";
static string RunCmd(string strCmd)
{
string rInfo;
try
{
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.CreateNoWindow = true;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcessStartInfo.Arguments = "/c " + strCmd;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
rInfo = myStreamReader.ReadToEnd();
myProcess.Close();
rInfo = strCmd + "\r\n" + rInfo;
return rInfo;
}
catch (Exception ex)
{
return ex.Message;
}
}
@shanechow: 不具备扩展名的路径值?不明白,能解释一下吗?"
这个可以解决下面的问题吗
错误 24 “ResolveManifestFiles”任务意外失败。
System.ArgumentException: 路径中具有非法字符。
在 System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
在 System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
在 Microsoft.Build.Tasks.Deployment.ManifestUtilities.Util.RemoveDuplicateItems(ITaskItem[] items)
在 Microsoft.Build.Tasks.Deployment.ManifestUtilities.Util.SortItems(ITaskItem[] items)
在 Microsoft.Build.Tasks.ResolveManifestFiles.set_NativeAssemblies(ITaskItem[] value) ArcGIS-3DLoad
错误 25 “ResolveManifestFiles”任务的“NativeAssemblies=@(NativeReferenceFile);@(_DeploymentNativePrerequisite)”参数无效。 ArcGIS-3DLoad
错误 26 未能使用“ResolveManifestFiles”任务的输入参数初始化该任务。 ArcGIS-3DLoad