Как сделать ссылки на Excel неабсолютными с помощью REGASM32 (раннее связывание)
У меня есть требование для создания новой установленной надстройки для Excel. Я создал многие из них, и этот вопрос не обязательно касается процесса сборки установки. Речь идет о том, как правильно ссылаться на.dll в Excel, чтобы на него можно было правильно ссылаться на принимающем компьютере.
Надстройка Excel ссылается (инструменты / ссылки) на файл ZOPLib.dll (.net dll нашего собственного дизайна). Это ссылается на это в C:\folder A
, Мы использовали REGASM32 для регистрации.dll, и все отлично работает на компьютере разработчика. Перемещая надстройку на виртуальную машину, я помещаю ZOPLib.dll в C:\folder B
и зарегистрируйте его там.
Поскольку надстройка была указана на C:\folder A
, хотя я REGASM32 DLL, надстройка не может найти его (DLL). Я должен REGASM32 / удалить DLL, REGASM32 зарегистрировать его в C:\folder B
а затем перейдите в надстройку и скажите ему, что DLL находится в C:\folder B
,
- Почему ссылка на dll абсолютная?
- Как сделать так, чтобы Excel ссылался на эту dll или регистрировал ее таким образом, чтобы надстройка могла найти ее в новой папке?
- Если я смогу заставить.net разработчика этой dll создавать ее как activex dll, это облегчит мою проблему?
InstallShield не обрабатывает регистрацию dll, которые не являются activex/ocx, потому что он использует REGSVR32.
Спасибо за любую помощь!