Próbuję zarejestrować bibliotekę DLL przy użyciu WiX. Teraz wiem i rozumiem, że powinienem użyć heat
i pobrać go, aby pobrać informacje rejestru dla mnie, ale upał wydaje się nie działać z następującym komunikatem o błędzie: heat.exe : warning HEAT5150 : Could not harvest data from a file that was expected to be a SelfReg DLL: C:\Users\seb\Desktop\Development\addin.dll. If this file does not support SelfReg you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: Unable to load file: C:\Users\seb\Desktop\Development\addin.dll, error: 193
Nie można zarejestrować biblioteki DLL przy użyciu WiX
Rozejrzałem się i znalazłem ten wpis, który wyjaśnia nieco więcej szczegółów na temat registering DLLs, ale jeśli to możliwe, chciałbym uniknąć trasy samo rejestracji. Widzę również wzmiankę o ręcznej rejestracji bibliotek DLL poniżej, ale nie jestem zbyt dobrze zaznajomiony z rejestrami lub obiektami COM, aby wiedzieć, gdzie mogę uzyskać identyfikator CLSID, ProgId i wszelkie inne informacje, o których wspomniano.
Jeśli ktoś może wskazać mi właściwy kierunek lub wytłumaczyć mi, co muszę zrobić, aby uruchomić bibliotekę DLL przez heat
, byłoby to bardzo cenne.
Jest to DLL, który został utworzony za pomocą ATL 6.0. Jeśli zadzwonię na Regserv32, wszystko ładuje się dobrze i system rozpoznaje go, ale do tej pory zawsze był ładowany jako SelfReg. – Seb
Tego rodzaju problem jest naprawdę trudny do rozwiązania. Jeśli możesz udostępnić bibliotekę DLL, mogę spróbować wyodrębnić ją dla ciebie. Możesz także użyć narzędzia migawki rejestru na czystym komputerze, aby przechwycić regsvr32, a następnie ręcznie napisać do wx. Lub użyj oceny InstallShield, aby wyodrębnić ciemność COM i WiX, aby dekompilować z powrotem do wx. Mnóstwo sztuczek, ale wymagają doświadczenia. –
Naprawdę nie mogę udostępnić biblioteki DLL, ponieważ jest ona własnością firmy, ale próbowałem używać RegSpy i zostało zamrożone na około 8 godzin. Mam nadzieję, że to tylko próba wyciągnięcia danych. – Seb