Bencana: Ubah Target Platform CPU Mengakibatkan ClickOnce Deployment Gagal Update

Setelah kemarin aku mengubah target platform CPU aplikasi ClickOnce dari Any CPU ke x86, ternyata ada masalah baru yang timbul. Aplikasi ClickOnce yang telah diinstall semula (versi target platform Any CPU), gagal untuk melakukan update otomatis, dan muncul pesan error sebagai berikut:

Application cannot be started. Contact the application vendor

Dan akibatnya, aplikasi pun tidak bisa dijalankan dipakai. #fufufu

Kok Bisa?

Setelah googling, ternyata hal ini disebabkan oleh karena target platform CPU juga digunakan sebagai identitas aplikasi ClickOnce. Jadi, ketika target CPU diubah dari Any CPU ke x86, maka ketika proses mengecek update, aplikasi lama (yang dideploy dengan target platform Any CPU) tidak akan mengenali update terbaru yang kini diubah ke target platform x86. Jadi, aplikasi yang sebelumnya terinstall dengan aplikasi update, dianggap sebagai 2 aplikasi yang berbeda.

Solusi: Install Ulang atau Kembalikan Target Platform ke Any CPU

Ada dua cara untuk mengatasi masalah ini. Yang pertama yaitu: uninstall aplikasi sebelumnya, dan install ulang menggunakan file .application dari ClickOnce yang versi x86. Menurutku, ini adalah solusi yang bisa dibilang happy solution (istilah dari mana ya?).

Nah, masalahnya kalau aplikasi kita ternyata sudah dipakai oleh banyak pengguna, maka solusi ini mungkin sedikit kurang nyaman bagi pengguna. Ditambah lagi jika rata-rata pengguna adalah mereka yang kurang begitu paham mengenai komputer. Tentu solusi yang mudah ini akan menjadi rumit. U Know What I Mean-lah pokok e. smile

Alternatif lain adalah kita mengembalikan target platform ke kondisi semula, yaitu: Any CPU. Dengan cara ini, maka pengguna aplikasi saat ini (versi Any CPU) tidak akan mengalami masalah untuk updatean terbaru. Sebagai konsekuensinya, kita perlu membuat ClickOnce Deployment sendiri untuk pengguna yang akan menggunakan aplikasi versi target platform x86. Waduh, kalau cara ini, kok kita sebagai programmer developer yang jadi kerepotan ya? bigsmile

Semoga bermanfaat. Amin.

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Hartadi

I’m a Passionate Programmer ;)

Leave a Reply