|
Проблемы с WinSCP в регламентном задании | ☑ | ||
---|---|---|---|---|
0
bodri
04.09.17
✎
10:19
|
Сервер 1С (х64) на сервере Win2008 R2(х64)
С помощью регламентного задания выгружаются остатки и должны переносится на сервер по sFTP, пользую для этого переброса WinSCP, программу установил и на всякий случай компоненту за регистрировал. Выходит такая ошибка: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string Написано так: //Задаем параметры подключения НастройкиСессии = Новый COMОбъект("WinSCP.SessionOptions"); //Создаем объект НастройкиСессии НастройкиСессии.HostName = Сервер; НастройкиСессии.UserName = пользовательСервера; НастройкиСессии.SshHostKeyFingerprint = ССШ_Ключик; НастройкиСессии.SshPrivateKeyPath = "D:\WinSCP\private.ppk"; Сессия = Новый COMОбъект("WinSCP.Session"); //Создаем объект Сессия //параметр необходимо использовать если пути регистрации DLL и исполняемого файла различны Сессия.ExecutablePath = "D:\WinSCP\winscp.exe"; // Подключаемся Сессия.Open(НастройкиСессии); Порылся в сети, нашел, что в Component services нужно добавить компоненту, добавил и стала выходить такая ошибка: Ошибка при вызове метода контекста (Open): Неизвестная ошибка У кого есть опыт работы с 1C+WinSCP |
|||
1
Лефмихалыч
04.09.17
✎
10:21
|
winscp-то ты на сервер установили или на клиента?
|
|||
2
mehfk
04.09.17
✎
10:22
|
(0) Проблемы с несовпадающей разрядностью. Инфа 146%.
|
|||
3
bodri
04.09.17
✎
10:26
|
(1) регламентные выполняются на сервере и поэтому winscp установлен на сервере
|
|||
4
bodri
04.09.17
✎
10:36
|
(2) да так и есть
|
|||
5
bodri
04.09.17
✎
10:37
|
Разобрался покурив сайт разработчика, жаль что инфа на английском, но всё таки если кому интересно https://winscp.net/eng/docs/library_install#registering:
Registering for COM WinSCP .NET assembly exposes its full interface to COM. As a COM library, it needs to be registered before use. If you are going to use the COM interface, register the assembly using command below. You do not need to register the assembly, if you are going to use it directly as a .NET assembly, e.g. from C#, VB.NET or PowerShell. %WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCPnet.dll /codebase /tlb Where the %WINDIR% is path to your Windows installation, what is typically C:\Windows or C:\WINNT. Note that you can keep %WINDIR% as this environment variable should be set on your system to point to the Windows folder. The Framework needs to be replaced by Framework64 to register the assembly for use from 64-bit applications1). On 64-bit systems, you should generally register the assembly both for 32-bit (such as Microsoft Excel) and 64-bit applications. The <version> is version of .NET framework to register the assembly with. It is recommended to use the latest available, what currently is v4.0.30319. You may however use any framework version from 2.0 (v2.0.50727) up. Note that framework 3.0 and 3.5 do not ship with RegAsm.exe. For these versions use RegAsm.exe from 2.0. Typical registration commands for .NET 4.0 on 64-bit system would be: %WINDIR%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe WinSCPnet.dll /codebase /tlb:WinSCPnet32.tlb %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe WinSCPnet.dll /codebase /tlb:WinSCPnet64.tlb The above examples assume that WinSCPnet.dll is in current working directory. Otherwise you need to specify an absolute path to the .dll. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |