Saya mengunduh Visual Studio 2012 kemarin ketika dirilis di MSDN. Saya perhatikan bahwa beberapa jenis proyek yang kami miliki di tahun 2010 hilang atau berbeda. Perbedaan terbesar bagi saya saat ini adalah penghapusan proyek Penginstal Windows. Sekarang kami dipaksa untuk menggunakan InstallShield LE (Edisi Terbatas). Masalahnya di sini adalah saya menulis banyak Layanan Windows dan saya tidak dapat melihat cara mengatur InstallShield LE. Tampaknya kami (perusahaan saya) harus berinvestasi dalam lisensi untuk edisi profesional.
Adakah yang menemukan cara untuk menginstal layanan di InstallShield LE? Saat menggunakan proyek Penginstal Windows, Anda cukup mengatur tindakan khusus.
Jawaban:
Untuk Visual Studio 2012 & InstallShield LE, lakukan hal berikut:
Sekarang, setelah Anda membangun dan menjalankan penginstalan, layanan Anda akan muncul di snap Layanan Windows.
Perhatikan bahwa ini mengasumsikan Anda menambahkan "Penginstal Proyek" ke proyek layanan Anda (Klik kanan pada lembar desain layanan dan klik "tambahkan penginstal"). Saya dapat mengonfirmasi pekerjaan ini pada Windows 8 dengan Visual Studio 2012 / InstallShield LE.
sumber
Saya baru saja menginstal VS 2012 dengan Install Shield LE. Pada awalnya saya terus mendapatkan kesalahan server internal ISEXP -5036 setelah membangun (ini terjadi setelah menyiapkan proyek ISLE dan menjalankan melalui Asisten Proyek Perisai Instal). Akhirnya saya menemukan bahwa itu mencoba untuk membuat MSI dalam jenis media DVD-5 yang gagal. Untuk beberapa alasan, membuat solusi lagi dari awal entah bagaimana mengenali hanya membangun ke jenis media CD_ROM dan SingleImage yang berfungsi.
Untuk memperbaiki kesalahan 5036, klik tab Build in VS 2012 (menu atas), pilih manajer konfigurasi dan Anda akan melihat bahwa file setup IS Anda dipilih pada konfigurasi DVD-5. Ubah ini menjadi CD_ROM dan klik tutup. Setelah Anda membangun / membangun kembali itu akan selesai tanpa kesalahan IS 5036.
sumber
Saat menggunakan kotak centang kelas penginstal dapat berfungsi untuk beberapa contoh, Anda mungkin mengalami kesalahan berikut:
Berikut adalah kutipan dari tautan ini tentang cara menyelesaikan masalah ini:
sumber
Jika proyek Anda adalah .NET, coba lalu Anda dapat menggunakan kelas ServiceProcessInstaller dengan InstallShield LE.
Untuk membuatnya bekerja dengan InstallShield, Anda harus masuk ke pohon "file" InstallShield dan klik kanan pada file Anda. Kemudian centang kotak centang untuk "Kelas penginstal" pada tab "Pengaturan COM dan .NET".
Saya sudah membuatnya berfungsi, tetapi saya mengalami masalah pada beberapa OS seperti Windows 2008R2. Jarak tempuh Anda mungkin berbeda.
Berikut ini contohnya: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
sumber
Saya punya banyak masalah dengan ini.
Sebagai berikut.
Solusi bagi saya seperti yang disebutkan di tempat lain - adalah meninggalkan InstallShield
Sangat mudah sejak saat itu.
Sunting: Perbarui - instal versi terbaru dari sini https://wix.codeplex.com/releases/view/115492 untuk vs 2013/2015
sumber
Proyek penataan Visual Studio kembali di VS 2013 sebagai ekstensi studio visual.
https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
Harap perbarui solusi dan proyek Anda ke VS 2013. Jika Anda masih menggunakan VS 2010, Anda mungkin lebih baik dengan meningkatkan langsung ke VS 2013.
Pengalaman saya dengan Installsheild LE adalah bahwa ini sangat unik tetapi setelah Anda mengetahui triknya, itu lebih mudah digunakan. Namun, menurut saya edisi terbatas adalah cara Microsoft dan Flexera untuk menjual edisi berfitur lengkap. Dengan kata lain, pertama-tama kami membayar Microsoft banyak uang untuk Visual Studio dan kemudian mitra mereka (dalam kejahatan) lebih banyak untuk Installsheild. Strategi buruk yang tidak berhasil karena mereka harus mengembalikan proyek penyiapan di VS 2013.
sumber
Saya telah menulis tentang subjek ini:
Augmenting InstallShield menggunakan Windows Installer XML - Layanan Windows
Pada dasarnya Anda membuat modul gabungan menggunakan WiX untuk merangkum layanan dan kemudian menambahkannya ke proyek installshield Anda. (Pastikan untuk mengasosiasikan ke direktori INSTALLDIR untuk memastikan file Anda berjalan sesuai harapan). Buat dan uji pada VM. Sepotong kue.
sumber
Saya menggunakan VS2012 dan Installshield LE Spring Edition. Saya tidak harus menggunakan Wix.
Jika Anda menemukan kesalahan "Tidak dapat membuat _isconfig.xml untuk digunakan dengan InstallUtilLib.dll", buat folder dengan nama yang sama dengan proyek penyiapan Anda dan di dalam folder proyek penyiapan.
Penghargaan untuk http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dll
sumber
Saya baru saja mendapat beberapa masalah menemukan tempat menambahkan penginstal seperti yang disebutkan dalam jawaban. Jadi begini caranya.
Klik dua kali pada kelas layanan Anda dalam Proyek layanan Windows Anda Sebuah layar kosong dengan teks "Untuk menambahkan komponen ke kelas Anda, seret mereka dari Toolbox dan gunakan jendela Properti untuk mengatur propertinya ..." Klik kanan di mana saja kecuali pada tautan dan pilih "Add Installer"
sampai jumpa
sumber
Ingatlah bahwa semua penjelasan di atas tidak akan membantu Anda jika Anda berencana untuk membuat peningkatan nanti dari pengaturan itu. InstallShiled LE tidak dapat menghentikan layanan yang berjalan saat Anda meningkatkan. Anda tidak dapat melakukannya baik dari Window Service Installer -> event BeforeInstall.
sumber
Ingin meletakkan ini di sini;
Pada VS 2015, ketika melakukan ini, saya mengalami kesalahan 1001 saat instalasi berulang kali.
Jawaban di halaman ini menjelaskan bahwa pada versi yang lebih baru (setelah 2012) , tampaknya Anda perlu secara eksplisit membiarkan opsi kelas penginstal tidak dicentang , dan kemudian menambahkan layanan windows Anda di bawah bagian Layanan di bawah Langkah 3 dari proyek penginstal:
Kesalahan 1001 saat menginstal Layanan Windows khusus
sumber