11 June 2010

Unexpected error Number 80010108 has occurred

Bagi kita pengembang atau programmer tentu mengenal Reporting Tools, ada banyak macamnya dan yang cukup di kenal adalah Crystal Report. Crystal Report merupakan salah satu reporting tool yang cukup populer dan banyak di gunakan oleh para pengembang karena fitur-fitur yang ditawarkan cukup lengkap. Meski begitu Reporting tool ini bukan berarti tanpa cacat, diantaranya adalah tidak memberikan pesan error ketika gagal menampilkan laporan. Bahkan informasi error justru muncul ketika kita melakkan pemaketan instalasi atau membuat installer
Pada saat membuat installer aplikasi yang di buat dengan Visual Basic 6 dan didalamnya terdapat pembuatan laporan menggunakan Crystal Report, suatu ketika saya disuguhi pesan kesalahan seperti berikut : "Unexpected error Number 80010108 has occurred: Automation error, The object invoked has disconnected from its Clients." Silahkan baca sekali lagi, sedikitpun tidak menunjukan bagian dari aplikasi mana yang gagal di paketkan kedalam installer, bahkan ketika kita uji coba dari kode sumber sekalipun semua program berjalan lancar tanpa ada error sedikitpun.

Pesan tersebut muncul jika kita membuat installer menggunakan Package and Deployment Wizard (PDW)yang disertakan dalam Visual Studio ketika kita meng-klik tombol Finish untuk membuat paket installer.

Setelah melakukan investigasi ternyata kesalahan tersebut disebabkan oleh informasi dependency file untuk ActiveXControl crystl32.ocx. kita pasti tahu file tersebut digunakan untuk menampilkan laporan yang ktia buat dengan crystal report. File Crystl32.ocx membutuhkan beberapa file dalam fungsinya diantaranya adalah crpe32.dll.

Untuk mengatasi kesalahan tersebut kita harus merubah file crystl32.dep yang ada di folder system32 pada sub folder Windows. File ini memiliki atribut hidden, sehingga pastikan system anda dapat menampilkan file yang beratribut tersembunyi. Mungkin saja ketika anda mencari file tersebut melalui fasilitas search pada windows, Windows tidak dapat menemukan file ini, oleh karenanya carilah secara manual.

Duka file crystl32.dep dengan teks editor seperti Notepad, dan lakukan perubahan pada session berikut

[CRPE32.DLL]
Dest=$(WinSysPath)
Uses1=CRPE32.DLL
Uses2=

rubah menjadi

;[CRPE32.DLL]
;Dest=$(WinSysPath)
;Uses1=CRPE32.DLL
;Uses2=
(tambahkan titik koma (;) pada awal baris.

Simpan file tersebut, silahkan buat ulang installer aplikasi anda.