У меня есть программа (VB.NET), которая при запуске как часть пакета DTS (с использованием WS Shell) отлично работает и имеет доступ к путям реестра. Но когда я запускаю одну и ту же программу локально, она терпит неудачу и не может получить доступ к реестру.Проблема с кодом VB.NET, доступ к реестру
Ниже приведенный фрагмент кода, который, как я думаю, вызывает проблему.
Sub Main()
Dim RegObjRegistry_definst As RegObj.Registry
Try
RegObjRegistry_definst = New RegObj.Registry
'The above object has Nothing after defination on a local run
Console.WriteLine("Success")
Console.ReadLine()
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.ReadLine()
End Try
End Sub
Ниже приведены ссылки в проекте:
Библиотеки DLL выделены позволяет получить доступ к реестру
Сервер является x86
и платформа сборки проекта является x86
Профили пользователя, работающие как с пакетом DTS, так и с локальным запуском эквивалентны (админы).
Ниже ошибка я получаю, когда я бегу это локально:
Retrieving the COM class factory for component with CLSID {C55A1680-CD5A-11CF-8D
29-444553540000} failed due to the following error: 80040154.
Но он работает нормально внутри пакета DTS. На данный момент я пытаюсь понять, почему это вызывает ошибку в локальном запуске, что необходимо сделать для исправления.
Я понимаю, что есть новые подходы/библиотеки для доступа к реестру в VB.Net, но для целей программы мне нужно найти решение с помощью RegObj.dll.
Спасибо!