Имя: Пароль:
1C
1С v8
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С *