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!!

Deploy Aplikasi yang Menggunakan Microsoft Access pada Windows 64 bit

Ketika medeploy aplikasi yang menggunakan Microsoft Access sebagai database pada Windows 64 bit, ternyata muncul error seperti berikut:

The ‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the local machine.

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine

Aplikasinya sih sudah bisa berjalan, namun ketika hendak mengakses data dari Microsoft Acces, muncul error seperti gambar di atas. Hal ini (mungkin) disebabkan karena tidak ada driver yang cocok untuk mengakses file Microsoft Access melalui aplikasi.

FYI, ketika kita menginstall Microsoft Access, maka pada komputer juga akan terinstall driver OleDb yang bisa digunakan untuk mengakses file Microsoft Access dari aplikasi yang kita buat.

Solusi I: Install Microsoft Access Driver

Silakan install Microsoft Access 64 bit atau cukup install Microsoft Access Database Engine 2010 Redistributable (yang versi 64 bit) pada komputer target. Sekedar info, Microsoft Access Database Engine 64 bit tidak akan bisa diinstall bila pada komputer telah terinstall Microsoft Access yang 32 bit. Alternatifnya, bisa dicoba Solusi II. smile

Note: meski pada komputer telah terinstall Microsoft Access, namun apabila masih versi 32 bit, maka aplikasi tetap tidak akan bisa mengakses file Microsoft Access karena aplikasi membutuhkan driver yang versi 64 bit.

Solusi II: Deploy Sebagai Aplikasi 32 bit (x86)

Solusi yang paling mudah adalah dengan mengubah target platform aplikasi kita dari yang semula Any CPU ke x86. Cara ini sangat berguna pada keadaan apabila pada komputer target telah terinstall Microsoft Access 32 bit.

Berikut screenshot cara mengubah target platform aplikasi pada Visual Studio (C# Project):

Karena aplikasi kita kini berjalan sebagai aplikasi 32 bit (pada komputer 64 bit), maka driver yang disediakan oleh Microsoft Access 32 bit akan kompatible. Sebagai akibatnya, aplikasi bisa mengakses file Microsoft Access.

Oh Ternyata hanya cukup begini saja toh?! Problem Solved bigsmile

Semoga bermanfaat. Amin.

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

Thanks to Oksadewa Elnovar, karena telah mengijinkan komputernya dijadikan kelinci percobaan, hihihi.

Jomblo itu Diakui oleh Negara

Buat para jomblowan en jomblowati, gak usah ngegalau lagi ya?! Bahkan seharusnya kalian bangga dengan status kalian. Mengapa? Karena ternyata status jomblo alias lajang itu diakui oleh negara lho MasBro en JengSis. #fufufu Gak percaya? Silakan baca tweet berikut:

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

Cara Embed Tweet ke Posting WordPress

Twitter Embeds adalah salah satu fitur keren pada WordPress 3.4. Dengan fitur ini, kita tidak perlu repot-repot menambahkan script ke blog wordpress bila ingin menampilkan tweet. Cukup tulis alamat tweet yang akan kita tampilkan pada satu baris khusus (pastikan tidak dalam bentuk hyperlink), kemudian akan dirender otomatis oleh engine WordPress. Berikut contoh tampilan tweet dari @suriantorustan yang aku tampilkan menggunakan fitur Twitter Embed:

Gagal Embed Tweet

Bila wordpress gagal untuk merender tweet, maka hanya akan tampil link untuk tweet tersebut, berikut contohnya:

Setelah kuselidiki (detektif mode: on), ternyata masalah tersebut dapat diatasi cukup dengan menghilangkan subdomain www pada link tweet yang akan kita tampilkan. Berikut hasil embed tweet di atas setelah menghilangkan www:

Rekap

  • Pastikan alamat tweet tanpa subdomain www
  • Tuliskan alamat tweet pada satu baris khusus, tidak dalam bentuk hyperlink
  • Bila masih gagal, coba beralih ke mode HTML, dan hilangkan seluruh format html yang ada smile

Semoga bermanfaat. Amin.

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