Tôi đã tạo một dll trong Visual Studios 2010. Tôi đã thực hiện các bước sau:ASP và COM DLL cổ điển Không hoạt động trong Server 2008 R2 (Microsoft VBScript runtime error '800a01ad' ActiveX thành phần không thể tạo đối tượng)
với xây dựng một tên mạnh bằng cách kết hợp một cặp khóa (snk tập tin) để nó
với mỗi lớp một ProgID cá nhân và GUID
Vì nó là một chút DLL 64 tôi chắc chắn rằng Sử dụng RegAsm.exe nằm trong 'FrameWork64/thư mục v4xxxx '. Tôi đã từng regasm.exe/codebase ECE2.dll
Tôi chạy 'gacutil -i' trên DLL
Tất cả những bước đã thành công. Các DLL và trang ASP tôi đang sử dụng nó trên được lưu trữ trong intetpub/wwwroot.
Bây giờ, DLL hoạt động tốt trên máy tính xách tay và máy tính ở nhà (cả hai đều chạy Windows 7 Ultimate). Tôi hiện đang cố gắng làm cho nó hoạt động trên Windows Server 2008 R2. Đây là nơi tôi đang gặp sự cố.
Tôi hoàn thành các bước tương tự như trên, tất cả đều thành công. Tuy nhiên khi tôi chạy trang ASP, tôi nhận được một thông báo lỗi đó sẽ đề nghị nó đã không được đăng ký, mặc dù nó có:
Microsoft VBScript runtime error '800a01ad' thành phần ActiveX không thể tạo đối tượng : 'ECE2.CSV_DataSet'
Tôi nghĩ rằng đó có thể là cài đặt trong IIS cần thay đổi. Lưu ý rằng máy chủ này đã được cấu hình để cho phép các trang ASP cổ điển, vì vậy tôi biết nó không phải là điều đó. Bất cứ ai cũng có thể cho tôi biết liệu có một thiết lập cụ thể nào tôi cần thay đổi trong Server hay không, hoặc có thêm hoops bảo mật nào không, tôi phải nhảy qua để làm việc trên Server 2008 mà tôi không cần phải làm Windows 7 Ultimate?
Tạo thư mục ứng dụng bên dưới trang web, đặt asp vào thư mục đó, đảm bảo rằng thư mục ứng dụng đang chạy với tư cách quản trị viên (không phải là người dùng iis thông thường), điều đó có hữu ích không? - nó có thể là một vấn đề an ninh – Paul