|
Com Объект на C# (вопрос регистрации) | ☑ | ||
---|---|---|---|---|
0
alexei366
27.11.13
✎
11:40
|
Значит такс:
Навоял библиотеку на C# чтоб её 1С как ComОбъект вызывать могла. Тестил на своём компе все супер. Терь пытаюсь итоговую dll зарегать на другом компе (где нет Visual Studia, где есть только Net. Framwork). Вроде как RegAsm не ругается пишет что все зарегал (пробывал с разными параметрами: /codebase /tlb и т.д). В итоге пока нифига не получилось, на другой машине 1С не хочет создавать объект - "Класс не зарегестрирован". Я в этой теме новичок, так что подскажите что и как для регистрации нужно сделать (а то ставить VS на этот комп для регистрации dll я считаю извращенством). Моя dll не по технологии внешних компонент если что, и эту технологию попрошу не предлагать. |
|||
1
H A D G E H O G s
27.11.13
✎
11:47
|
Все просто.
regsvr32 вызывает экспортную функцию dll function DllRegisterServer:HResult;stdcall; которая должна внести годные записи в реестр. В Дельфе это сделано все конструктором, тебе остается только задать PROGID. |
|||
2
oleg_km
27.11.13
✎
11:49
|
Мало данных. Какая ОС, какой НЕТ, 64бит или 32бит, на какую платформу компилировал, где пытаешься запустить: на сервер или клиенте 1С
(1) дот.нетовские сборки вроде не регистрируются regsvr32. Для них есть утилита regasm. Другое дело есть 32битная и 64 битная версия этой утилиты, как и всего дот.нета. |
|||
3
H A D G E H O G s
27.11.13
✎
11:50
|
В этих ваших c++ ты можешь (я уверен только в Borland c++) подключиться к процессу regsvr32 в качестве отладки и посмотреть, что делает DllRegisterServer
А можешь перекрыть процедуру DllRegisterServer и самому внести записи в реестр, например не в hkey_classes_root а в hkey_current_user COMОбъект будет работать, а на регистрацию не будут трбоваться админские права. |
|||
4
IPx2
27.11.13
✎
11:51
|
"где есть только Net. Framwork"
какой? |
|||
5
alexei366
27.11.13
✎
11:51
|
(2) пробывал и на 64 и 32, разницы нет.
regsvr32 не канает конеш для Net dll. На сервере 1С пока не пробывал, пока файловой пробую. |
|||
6
alexei366
27.11.13
✎
11:51
|
(4) 2,3,4
|
|||
7
oleg_km
27.11.13
✎
11:52
|
(3) Слушай, ну при чем здесь С++, написал же в (0) - С#
У меня все регистрируется RegAsm.exe 1CAddInNET.dll /codebase |
|||
8
oleg_km
27.11.13
✎
11:54
|
(5) Пробовал как и 64битным регистрировал и 32 битным?
Объявление (или определение, постоянно путаюсь) класса кинь сюда |
|||
9
H A D G E H O G s
27.11.13
✎
11:56
|
(7) В этой вашей dll есть 4 экспортных функции?
DllGetClassObject DllCanUnloadNow DllRegisterServer DllUnregisterServer |
|||
10
oleg_km
27.11.13
✎
11:59
|
(9) Нет, это же не двоичная библиотека, это же IL-код. Не грузись, ща поможем
|
|||
11
alexei366
27.11.13
✎
12:04
|
(8) Лови основной
//////////////////////// using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using System.Drawing; using System.Drawing.Imaging; using System.IO; using iTextSharp.text; using iTextSharp.text.html; using iTextSharp.text.html.simpleparser; using iTextSharp.text.pdf; using GhostscriptSharp; using GhostscriptSharp.Settings; namespace CSH_COM_KonvertPDF_v1 { [Guid(@"DC44C016-116B-4FA1-881C-4C9A17F3E244"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] internal interface CSH_COM_Interface { } [Guid(@"35C4E808-0127-4E75-96FF-F18EFE5B2EC7"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface CSH_COM_Events { } public class EX_Class { public int Kod; public string Opisanie; public EX_Class EX; public string ExPolnKod() { string TekSt = ""; EX_Class TekEx; TekSt = TekSt + Convert.ToString(Kod); TekEx = EX; TekEx = this; while (true) { TekEx = TekEx.EX; if (TekEx == null) { break; } TekSt = TekSt + "_" + Convert.ToString(EX.Kod); } return TekSt; } public EX_Class(Int32 val1, string val2) { Kod = val1; Opisanie = val2; } public EX_Class(Int32 val1, string val2, EX_Class val3) { Kod = val1; Opisanie = val2; EX = val3; } public EX_Class() { Kod = 0; Opisanie = ""; } } [Guid(@"A7FE9A39-F698-4AB8-A9F8-4579741B8DCE"), ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(CSH_COM_Events)), ProgId(@"CSH_COM_KonvertPDF_v1.Class_Convert")] public class Class_Interface1 : CSH_COM_Interface { public EX_Class Konvert_PDF_TIFF(string in_pdf, string out_tiff, bool cvet = false) { try { GhostscriptSettings GS = new GhostscriptSettings(); if (cvet) { GS.Device = GhostscriptDevices.tiff24nc; } else { GS.Device = GhostscriptDevices.tiffgray; } GhostscriptPages GS_P = new GhostscriptPages(); GS_P.AllPages = true; GS.Page = GS_P; GS.Resolution = new Size { Height = 144, Width = 144 }; GS.Size = new GhostscriptPageSize { Native = GhostscriptPageSizes.letter }; GhostscriptWrapper.GenerateOutput(in_pdf, out_tiff, GS); } catch (Exception ex) { return new EX_Class(1, ex.Message); } return new EX_Class(0,""); } public EX_Class Konvert_TIFF_PDF(string in_tiff, string out_pdf) { try { var list_img = new List<img_str>(); var bitmap = (Bitmap)System.Drawing.Image.FromFile(in_tiff); var count = bitmap.GetFrameCount(FrameDimension.Page); Int32 napr; for (int idx = 0; idx < count; idx++) { bitmap.SelectActiveFrame(FrameDimension.Page, idx); MemoryStream byteStream = new MemoryStream(); bitmap.Save(byteStream, ImageFormat.Jpeg); if (bitmap.Size.Width > bitmap.Size.Height) napr = 2; else napr = 1; list_img.Add(new img_str(byteStream, napr)); } bitmap.Dispose(); var docPdf = new Document(iTextSharp.text.PageSize.A4, 0, 0, 0, 0); using (var stream = new FileStream(out_pdf, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter.GetInstance(docPdf, stream); docPdf.Open(); int Dl_List_img = list_img.Count; for (int i = 0; i < Dl_List_img; i++) { var el_img = list_img[i]; if (el_img.napr == 1) docPdf.SetPageSize(iTextSharp.text.PageSize.A4); else docPdf.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()); var pdf_p = docPdf.NewPage(); var img = el_img.img; var image = iTextSharp.text.Image.GetInstance(img.GetBuffer()); image.SetAbsolutePosition(0, 0); var pdf_PageSize = docPdf.PageSize; image.ScaleToFit(pdf_PageSize.Width, pdf_PageSize.Height); docPdf.Add(image); img.Close(); img.Dispose(); } docPdf.Close(); stream.Close(); } docPdf.Dispose(); list_img.Clear(); } catch (Exception ex) { return new EX_Class(1, ex.Message); } return new EX_Class(0,"");; } struct img_str { public MemoryStream img; public int napr; public img_str(MemoryStream val_img, int val_napr) { img = val_img; napr = val_napr; } } public EX_Class Konvert_PDF_TIFF_PDF(string in_pdf, string out_pdf, bool cvet = false) { try { string fail_tiff = System.IO.Path.GetTempFileName(); EX_Class rez = Konvert_PDF_TIFF(in_pdf, fail_tiff, cvet); if (rez.Kod != 0) return rez; rez = Konvert_TIFF_PDF(fail_tiff, out_pdf); System.IO.File.Delete(fail_tiff); if (rez.Kod != 0) return rez; } catch (Exception ex) { return new EX_Class(1, ex.Message); } return new EX_Class(0, ""); ; } public EX_Class Konvert_PDF_PDFcr(string in_pdf, string out_pdf, string parol) { try { using (Stream input = new FileStream(in_pdf, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (Stream output = new FileStream(out_pdf, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfReader reader = new PdfReader(input); PdfEncryptor.Encrypt(reader, output, true, null, parol, PdfWriter.AllowPrinting); output.Close(); } input.Close(); } } catch (Exception ex) { return new EX_Class(1, ex.Message); } return new EX_Class(0, ""); } } } /////////////////////////// |
|||
12
MadHead
27.11.13
✎
12:06
|
(0) по технологии ВК или нет, всеравно регать ком объект на шарпе прийдется. Подписана ли библиотека строгим именем? Можно еще попробовать progId задать в виде addIn.твое имя и обращаться по прог ид к ком объекту
|
|||
13
alexei366
27.11.13
✎
12:07
|
(9) Нету, и как понимаю не нанужны мне они
|
|||
14
alexei366
27.11.13
✎
12:08
|
(12) Блин, суть то в чем, если я строю решение из VS то все зашебенно, а когда сам пытаюсь через regasm то фигу.
Код то не меняется!. |
|||
15
MadHead
27.11.13
✎
12:10
|
(13) правильно понимаете, не нужны.
еще в настройках компиляции есть галочка register fo com interopt |
|||
16
oleg_km
27.11.13
✎
12:13
|
(14) Вообще да, из VS регит сама среда, а у тебя не регится без среды. Давай по порядку: под какие версии нет и какие платформы (64/32) ты билдишь сборку? Какими RegAsm (из какой версии НЕТ) ты регистрируешь на клиентской машине? Просто если на клиентской машине 64битная например Win7, то для клиента 1С нужно регать из ветки C:\Windows\Microsoft.NET\Framework, а не из C:\Windows\Microsoft.NET\Framework64. Причем RegAsm'ом той версии, который указан у тебя в свойствах проекта вроде
|
|||
17
alexei366
27.11.13
✎
12:25
|
(15) а я блин не поставил думаешь, мне бы тогда VS тоже бы не строила проект с видимостью Com
|
|||
18
alexei366
27.11.13
✎
12:32
|
(16) библиотека и под 32 и под 64, ну по крайнемере подключаемые ресурсы заточены под обе платформы. На другой машине версия такаяже "v4.0.30319". Я свою dll регал на 32 и 64 машинах ,где стоит VS, через неё собственно и все ок. А на машине где нет VS (она 64) пока не получается (тож пробывал и через Framework и Framework64)
|
|||
19
oleg_km
27.11.13
✎
12:33
|
(18) В свойствах проекта точно четверка стоит, может нам двойка например
|
|||
20
alexei366
27.11.13
✎
12:34
|
(19) 4 стоит
|
|||
21
oleg_km
27.11.13
✎
12:44
|
А сообщение RegAsm'а кинь
|
|||
22
alexei366
27.11.13
✎
12:49
|
(21)
C:\Windows\Microsoft.NET\Framework\v4.0.30319>RegAsm.exe C:\Windows\System32\ComObjects\KonverterPDF\CSH_COM_KonvertPDF.dll \codebase Microsoft .NET Framework Assembly Registration Utility 4.0.30319.17929 для Microsoft .NET Framework 4.0.30319.17929 (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. Типы зарегистрированы успешно C:\Windows\Microsoft.NET\Framework\v4.0.30319> |
|||
23
alexei366
27.11.13
✎
13:07
|
Народ есть у кого какие мысли?
|
|||
24
MadHead
27.11.13
✎
13:08
|
(17) и без этой галки можно создать ком объект
|
|||
25
MadHead
27.11.13
✎
13:10
|
(23) имя addIn.<твое имя> progId попробуй создать
|
|||
26
alexei366
27.11.13
✎
13:11
|
(25) И чо это мне даст?
|
|||
27
MadHead
27.11.13
✎
13:12
|
еще можно отрегать компоненту почистить реестр и ребутнуться и снова зарегать. иногда такое помогало
|
|||
28
MadHead
27.11.13
✎
13:12
|
alexei366 1с увидит по этому имени ком объект.
|
|||
29
alexei366
27.11.13
✎
13:13
|
(25) Я как вешнюю компоненту не хочу её узать, хотелось бы чтоб её могла вызывать любая среда
|
|||
30
alexei366
27.11.13
✎
13:13
|
(28) А до этого она как видела? (когда я через VS регал)
|
|||
31
MadHead
27.11.13
✎
13:17
|
(28) я хз как его vs регала и что вместе с vs ставится.
(29) это еще не будет ВК. Это просто ком объект с таким прог ид. |
|||
32
MadHead
27.11.13
✎
13:18
|
нафига вопрос задавать, если твердо уверен что все сделал правильно и все должно работать? Просто прорегай как есть и жди когда начнет работать )
|
|||
33
alexei366
27.11.13
✎
13:22
|
(31) Я вроде как уверен что addIn. необходимо для "ПодключитьВнешнююКомпоненту". А так как у меня все работает на компе где есть VS с моим придуманным именен то я и смысла в этом не вижу.
(32) А вот я вообще не уверен что все правильно сделал при регистрации либы без VS, но знаю одно точно что блин она работает. |
|||
34
alexei366
27.11.13
✎
13:33
|
У меня уже блин появилось желание сделать exe файл и запускать его с параметрами, а то блин задалбало както (но пока держусь)
|
|||
35
oleg_km
27.11.13
✎
13:40
|
(34) Можно еще в реестре посмотреть как регистрируется КОМ. Ты можешь мне его как-то прислать, я что ли посмотрю?
|
|||
36
oleg_km
27.11.13
✎
13:41
|
(32) Ну addin действительно имеет отношение только к ВК, КОМ имеет любое допустимое для КОМ'ма ProgID
|
|||
37
H A D G E H O G s
27.11.13
✎
13:50
|
Бида с этими сишниками.
|
|||
38
MadHead
27.11.13
✎
13:54
|
(32) оно то так. Но дописав прог ид через addIn 1с увидит ваш ком объект и никакие ПодключитьВнешнююкомпоненту() выполнять не надо
(33) http://infostart.ru/public/151246/ вот почитай |
|||
39
H A D G E H O G s
27.11.13
✎
13:56
|
(38)
http://infostart.ru/public/151246/ вот почитай Жесть, жесть, жесть. 100500 действий на голом месте. Особенно позабавил guidgen.exe |
|||
40
MadHead
27.11.13
✎
14:01
|
(39) никто никто не мешает вызвать генератор гуидов напрямую в VS
|
|||
41
oleg_km
27.11.13
✎
14:06
|
(38) Ну и где тут addIn
Новый COMОбъект("HowToComObjectFor1C.MyClass"); |
|||
42
alexei366
27.11.13
✎
14:14
|
(35) REGEDIT4
[HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptWrapper] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptWrapper\CLSID] @="{5662C268-A87B-3E49-848C-F670C068602C}" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.GhostscriptWrapper" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.GhostscriptWrapper" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\ProgId] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptSettings] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptSettings\CLSID] @="{1155BD4D-5A62-37FA-9821-376FDCFF6129}" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.GhostscriptSettings" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.GhostscriptSettings" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\ProgId] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPages] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPages\CLSID] @="{A78529D9-E6C5-389C-A76B-3B45797DADFE}" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.Settings.GhostscriptPages" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPages" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\ProgId] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\Record\{ECF6AC8E-C493-3B22-996D-5ADA114D6D1E}\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptDevices" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPageSize] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPageSize\CLSID] @="{E43E979A-B613-386A-8B53-5979A3839B67}" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.Settings.GhostscriptPageSize" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPageSize" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\ProgId] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\Record\{6E832BEC-C3A8-311E-8D4F-47388FD1C136}\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPageSizes" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.EX_Class] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.EX_Class\CLSID] @="{BDE55E85-B9D6-301C-9D08-4840B0D37185}" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="CSH_COM_KonvertPDF_v1.EX_Class" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\InprocServer32\1.0.0.0] "Class"="CSH_COM_KonvertPDF_v1.EX_Class" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\ProgId] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.Class_Convert] @="CSH_COM_KonvertPDF_v1.Class_Interface1" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.Class_Convert\CLSID] @="{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}] @="CSH_COM_KonvertPDF_v1.Class_Interface1" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="CSH_COM_KonvertPDF_v1.Class_Interface1" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\InprocServer32\1.0.0.0] "Class"="CSH_COM_KonvertPDF_v1.Class_Interface1" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\ProgId] @="CSH_COM_KonvertPDF_v1.Class_Convert" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] |
|||
43
alexei366
27.11.13
✎
14:19
|
(38) (39) Да у меня так и сделанно, и где стоит VS и где через неё проект собирался то работает, а на другой машине фигу.
|
|||
44
H A D G E H O G s
27.11.13
✎
14:20
|
Жесть какая-то.
Я один не вижу путь к библиотеке? |
|||
45
oleg_km
27.11.13
✎
14:20
|
А у меня
RuntimeVersion = v4.0.30319 Попробуй зарегать RegAsm из папки второго НЕТа |
|||
46
oleg_km
27.11.13
✎
14:21
|
(44) РегАсм же пискнул в (22) что все окей
|
|||
47
alexei366
27.11.13
✎
14:22
|
(44) Я фиг знает, эт я запустил regasm на сохранение reg файла без записи его в реестр. А что делает VS при построении я хз
|
|||
48
oleg_km
27.11.13
✎
14:27
|
(44) Вообще да, у меня еще есть:
CodeBase = file:///D:/Program Files/AGP/1CAddInNET.DLL |
|||
49
alexei366
27.11.13
✎
14:31
|
(44) Лови с путями, забыл /codebase
REGEDIT4 [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptWrapper] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptWrapper\CLSID] @="{5662C268-A87B-3E49-848C-F670C068602C}" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.GhostscriptWrapper" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.GhostscriptWrapper" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\ProgId] @="GhostscriptSharp.GhostscriptWrapper" [HKEY_CLASSES_ROOT\CLSID\{5662C268-A87B-3E49-848C-F670C068602C}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptSettings] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\GhostscriptSharp.GhostscriptSettings\CLSID] @="{1155BD4D-5A62-37FA-9821-376FDCFF6129}" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.GhostscriptSettings" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.GhostscriptSettings" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\ProgId] @="GhostscriptSharp.GhostscriptSettings" [HKEY_CLASSES_ROOT\CLSID\{1155BD4D-5A62-37FA-9821-376FDCFF6129}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPages] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPages\CLSID] @="{A78529D9-E6C5-389C-A76B-3B45797DADFE}" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.Settings.GhostscriptPages" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPages" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\ProgId] @="GhostscriptSharp.Settings.GhostscriptPages" [HKEY_CLASSES_ROOT\CLSID\{A78529D9-E6C5-389C-A76B-3B45797DADFE}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\Record\{ECF6AC8E-C493-3B22-996D-5ADA114D6D1E}\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptDevices" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPageSize] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\GhostscriptSharp.Settings.GhostscriptPageSize\CLSID] @="{E43E979A-B613-386A-8B53-5979A3839B67}" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="GhostscriptSharp.Settings.GhostscriptPageSize" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\InprocServer32\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPageSize" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\ProgId] @="GhostscriptSharp.Settings.GhostscriptPageSize" [HKEY_CLASSES_ROOT\CLSID\{E43E979A-B613-386A-8B53-5979A3839B67}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\Record\{6E832BEC-C3A8-311E-8D4F-47388FD1C136}\1.0.0.0] "Class"="GhostscriptSharp.Settings.GhostscriptPageSizes" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.EX_Class] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.EX_Class\CLSID] @="{BDE55E85-B9D6-301C-9D08-4840B0D37185}" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="CSH_COM_KonvertPDF_v1.EX_Class" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\InprocServer32\1.0.0.0] "Class"="CSH_COM_KonvertPDF_v1.EX_Class" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\ProgId] @="CSH_COM_KonvertPDF_v1.EX_Class" [HKEY_CLASSES_ROOT\CLSID\{BDE55E85-B9D6-301C-9D08-4840B0D37185}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.Class_Convert] @="CSH_COM_KonvertPDF_v1.Class_Interface1" [HKEY_CLASSES_ROOT\CSH_COM_KonvertPDF_v1.Class_Convert\CLSID] @="{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}] @="CSH_COM_KonvertPDF_v1.Class_Interface1" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="CSH_COM_KonvertPDF_v1.Class_Interface1" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\InprocServer32\1.0.0.0] "Class"="CSH_COM_KonvertPDF_v1.Class_Interface1" "Assembly"="CSH_COM_KonvertPDF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2395dfe3ef2522d" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Windows/System32/ComObjects/KonverterPDF/CSH_COM_KonvertPDF.dll" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\ProgId] @="CSH_COM_KonvertPDF_v1.Class_Convert" [HKEY_CLASSES_ROOT\CLSID\{A7FE9A39-F698-4AB8-A9F8-4579741B8DCE}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] |
|||
50
alexei366
27.11.13
✎
14:36
|
(45) Я ща за компом, который 32, так что нет 2-го нета
|
|||
51
alexei366
27.11.13
✎
14:43
|
Во черт у меня есть подозрения в своей криворукости.
Заметил что \codebase должен быть /codebase . Запустил regasm, и при вызове из 1С dll и tlb из папки проекта удалить могу а из C:/Windows/System32/ComObjects/KonverterPDF/ не могу пишет 1с8 заняла файлы. Б_Л_Я неужели вся трабла во спеше? Но надо потестить, ща найду какойнить комп который загадить ещё не успел))) |
|||
52
oleg_km
27.11.13
✎
15:13
|
(50) Второй дот.нет всегда есть. В папку c:\windows\microsoft.NET зайди и посмотри.
(51) Если 1С что-то захватила, значит объект все-таки создался. Проверь, может облом происходит в конструкторе. Не очень глубоко знаю COM, но там при исключении в конструкторе какая ошибка выскакивает? |
|||
53
alexei366
27.11.13
✎
15:19
|
(52) Корочь на др машине зарегал в Framework64\v4.0.30319, ошибок не показал, но в 1С "Класс не зарегестрированн".
Зарегал в Framework\v4.0.30319 и объект стал создаваться из 1С. Както так пока |
|||
54
alexei366
27.11.13
✎
15:22
|
(53) Ну правдо и на др машине 1С 32 битная (хотя ОС 64 бита, ну так сложилось).
|
|||
55
Принт
27.11.13
✎
15:25
|
(52) "Второй дот.нет всегда есть"
С четвёртым не ставится, вродь, и на xp по дефолту отсутствует. COM в винде x64 не поддерживает, насколько помню. |
|||
56
alexei366
27.11.13
✎
15:30
|
(55) Да ну на, шутишь?
|
|||
57
Принт
27.11.13
✎
15:30
|
(56) по которому пункту?
|
|||
58
oleg_km
27.11.13
✎
15:47
|
(55) Что значит не поддерживает? Просто клиент 1С и винде 64-х битной всегда 32-х битный, поэтому ему нужен КОМ, который поддерживает 32 бит и зарегистрированый 32-х битным РегАсм'ом. Сервер 64 же вполне поддерживает 64-й КОМ
|
|||
59
Принт
27.11.13
✎
15:51
|
(58) да ходит в интернетах одна байка
|
|||
60
RomanFire
27.11.13
✎
15:57
|
Так это такое может быть со всеми dll написанными на C#
|
|||
61
oleg_km
27.11.13
✎
15:58
|
(60) Ты о чем?
|
|||
62
alexei366
27.11.13
✎
16:49
|
(57) на 64 Com не пашет (я имею ввиду что если не ОС 64, а пытаемся использовать Com как 64)
|
|||
63
H A D G E H O G s
27.11.13
✎
17:01
|
(62) Ты ерунду какую-то пишешь.
|
|||
64
oleg_km
27.11.13
✎
17:13
|
(63) Я думаю, просто вечер и внятно сформулировать не может. Я вот хотел по-быстренькому его подправить, но тоже что-то в мозгу заело. Я думаю, все кто хотят, поймут правильно
|
|||
65
alexei366
27.11.13
✎
17:26
|
(64) Во во, я сегодня ночью до 4 сидел (сплеш раз тысчу не в ту сторону писал). Мне это вообще мозг выносило, везде написано у всех ок а у меня ()):::::D -- , а все из-за того что ручками набирал и как-то по наитию в др сторону его писал постоянно.
|
|||
66
oleg_km
27.11.13
✎
17:28
|
(65) Ну главное, в шарпе не пытался написать Если То Пошел ты на...?
|
|||
67
alexei366
27.11.13
✎
18:28
|
(66) Ну тип того))) хотя есть у меня dll на шарпе по генерации штрихкодов: EAN, Code128 и OR. Сам писал по спекам))))
|
|||
68
Принт
27.11.13
✎
19:37
|
тем временем нам привалило .NET 4.5.1
|
|||
69
oleg_km
27.11.13
✎
21:20
|
(68) У нас еще ХР, а 4.5 вроде как уже требует не меньше Вин7
|
|||
70
Принт
27.11.13
✎
21:34
|
(69) Так и есть.
(за одно VS Express 2013 прямо сейчас ставлю) |
|||
71
alexei366
27.11.13
✎
21:46
|
Все поставил библиотеку на сервак, и 1С сервер нормально её юзает без проблем)))))
|
|||
72
alexei366
27.11.13
✎
21:47
|
(71) я имею ввиду службу сервера 1С *
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |