Bagaimana cara membuat installer untuk Layanan Windows yang telah saya buat menggunakan Visual Studio?
152
Bagaimana cara membuat installer untuk Layanan Windows yang telah saya buat menggunakan Visual Studio?
Jawaban:
Dalam proyek layanan lakukan hal berikut:
Sekarang Anda perlu membuat proyek pengaturan. Hal terbaik untuk dilakukan adalah menggunakan wizard pengaturan.
Klik kanan pada solusi Anda dan tambahkan proyek baru: Tambah> Proyek Baru> Setup dan Deployment Projects> Setup Wizard
Sebuah. Ini bisa sedikit berbeda untuk versi Visual Studio yang berbeda. b. Visual Studio 2010 terletak di: Instal Template> Jenis Proyek Lainnya> Pengaturan dan Penempatan> Pemasang Visual Studio
Pada langkah kedua pilih "Buat Pengaturan untuk Aplikasi Windows."
Pada langkah ke-3, pilih "Output primer dari ..."
Klik untuk Selesai.
Selanjutnya edit installer Anda untuk memastikan output yang benar disertakan.
Anda dapat mengedit nama output pemasang dengan mengklik kanan proyek Installer di solusi Anda dan pilih Properties. Ubah 'Nama file keluaran:' menjadi apa pun yang Anda inginkan. Dengan memilih proyek installer juga dan melihat jendela properti, Anda dapat mengedit
Product Name
,Title
,Manufacturer
, dll ...Selanjutnya buat installer Anda dan itu akan menghasilkan MSI dan setup.exe. Pilih mana yang ingin Anda gunakan untuk menggunakan layanan Anda.
sumber
Service name contains invalid characters, is empty, or is too long (max length = 80)
kesalahan saat menambahkan Penginstal lalu klik kanan di area abu-abu lagi, buka Properti dan pastikan bahwa nilai Nama Layanan diatur.Saya mengikuti serangkaian langkah pertama Kelsey untuk menambahkan kelas pemasang ke proyek layanan saya, tetapi alih-alih membuat penginstal MSI atau setup.exe, saya membuat layanan pemasangan / penghapusan sendiri. Berikut sedikit kode sampel dari salah satu layanan saya yang dapat Anda gunakan sebagai titik awal.
sumber
Windows Application
dan objek Startup:(none)
. Saya harus mengubah tipe Output keConsole Application
dan mengatur objek startup saya misalnyamyservice.Program
. Jika mungkin ada konsekuensi yang tidak saya sadari, mohon saran.Nor Kelsey, atau solusi Brendan tidak berfungsi untuk saya di Visual Studio 2015 Community.
Inilah langkah-langkah singkat saya bagaimana cara membuat layanan dengan installer:
->
New->
ProjectKlik dua kali serviceInstaller1. Visual Studio menciptakan
serviceInstaller1_AfterInstall
acara. Tulis kode:Bangun solusi. Klik kanan pada proyek dan pilih 'Buka Folder di File Explorer'. Pergi ke bin \ Debug .
Buat install.bat dengan skrip di bawah ini:
/i
ke/u
)sumber
Untuk VS2017 Anda perlu menambahkan ekstensi VS "Microsoft Visual Studio 2017 Installer Projects". Ini akan memberi Anda templat proyek Visual Studio Installer tambahan. https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects#overview
Untuk menginstal layanan windows Anda dapat menambahkan proyek jenis setup wizard baru dan ikuti langkah-langkah dari jawaban Kelsey https://stackoverflow.com/a/9021107/1040040
sumber
Kelas InstallUtil (ServiceInstaller) dianggap sebagai anti-pola oleh komunitas Pemasang Windows. Ini rapuh, keluar dari proses, menciptakan kembali roda yang mengabaikan fakta bahwa Pemasang Windows memiliki dukungan bawaan untuk Layanan.
Proyek-proyek penyebaran Visual Studio (juga tidak begitu dihargai dan ditinggalkan dalam rilis Visual Studio berikutnya) tidak memiliki dukungan asli untuk layanan. Tetapi mereka dapat mengkonsumsi modul gabungan. Jadi saya akan melihat artikel blog ini untuk memahami cara membuat modul gabungan menggunakan Windows Installer XML yang dapat mengekspresikan layanan dan kemudian menggunakan modul gabungan itu dalam solusi VDPROJ Anda.
Augmenting InstallShield menggunakan Windows Installer XML - Layanan Windows
Tutorial Layanan Windows IsWiX
IsWiX Windows Service Video
sumber