Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Serginio1, Вы писали:
S>>ProgId нужен для позднего связывания.
vaa>и обязательно
vaa>vaa>regsvr32 dotnet-com-library.dll
vaa>
Ну это для Core
https://docs.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com
Ну и без ProgId tlb то все равно нужно регистрировать
Для .Net Framework regasm.exe из 2 х каталогов
public string GetSysPath(string ИмяПеременной)
{
string path = System.Environment.GetEnvironmentVariable(ИмяПеременной);
// path = System.Environment.GetEnvironmentVariable("%" + ИмяПеременной + "%");
if (!path.EndsWith("\\")) path += "\\";
return path;
}
string Каталог20 = @"Microsoft.NET\Framework{0}\v2.0.50727\";
string Каталог45=@"Microsoft.NET\Framework{0}\v4.0.30319\";
var Приложение = GetSysPath("Windir");
var Приложение32 = Приложение +string.Format(Каталог,"")+ "regasm.exe";
var Приложение64 = Приложение + string.Format(Каталог,"64")+"regasm.exe";
var КоманднаяСтрока = @"""" + filename + @""" " + @"/codebase";
if (System.IO.File.Exists(Приложение32))
{
ЗапуститьПриложение(Приложение32, КоманднаяСтрока);
textBox1.Text = Приложение32 + " " + КоманднаяСтрока;
}
if (System.IO.File.Exists(Приложение64))
{
ЗапуститьПриложение(Приложение64, КоманднаяСтрока);
textBox2.Text = Приложение64 + " " + КоманднаяСтрока;
}