Pertanyaan Menjalankan WiX pada layanan pembangunan di Visual Studio Team Services (adalah VS Online), Kesalahan LGHT0217, ICE01-07


Saya memiliki solusi yang dihosting di Layanan Tim dan menggunakan layanan pembangunannya.

Solusinya juga termasuk proyek untuk membangun file MSI menggunakan toolset WiX. Ini bekerja sangat baik secara lokal dan saya telah mengintegrasikan binari toolset ke dalam repositori untuk mengaktifkannya di server build juga seperti yang dijelaskan dalam panduan ini.

Tetapi proses pembangunan melaporkan proyek gagal dibangun:

light.exe (0, 0) Kesalahan mengeksekusi ICE action 'ICE01'. Yang paling umum   Penyebab kegagalan ICE semacam ini adalah salah didaftarkan   mesin scripting. Lihat http://wixtoolset.org/documentation/error217/   untuk detail dan cara menyelesaikan masalah ini. Format string berikut   tidak diharapkan oleh logger pesan UI eksternal: "Windows   Layanan Installer tidak dapat diakses. Ini bisa terjadi jika Windows   Installer tidak diinstal dengan benar. Hubungi personel dukungan Anda   untuk bantuan. "

Ini mengulangi dari ICE01 ke ICE07 dan diikuti oleh:

light.exe (0, 0) Pengecualian Win32 yang tidak terduga dengan kode kesalahan 0x643   terjadi: Tindakan - 'ICE09' Kesalahan fatal saat pemasangan

Saya juga sudah berusaha supress validasi seperti yang disebutkan dalam pertanyaan SO ini. Ini pada dasarnya tentang menambahkan berikut ke file proyek wix:

<PropertyGroup>
    <SuppressValidation>true</SuppressValidation>
</PropertyGroup>

Ini berhasil - tetapi saya senang jika ini adalah cara terbaik karena tidak merasa benar. Apa cara yang benar untuk menjalankan WiX di Visual Studio Team Services?


5
2017-07-09 21:07


asal


Jawaban:


Menekan validasi ICE adalah pekerjaan di sekitar untuk saat ini jika Anda ingin membangun proyek WiX dengan VSTS Hosted Build Agent karena agen pengembang yang di-host tidak menyediakan hak administrator.

Jika Anda tidak nyaman dengan penekanan validasi, Anda selalu dapat membuat PropertyGroup bergantung pada build yang ada pada agen build, sehingga validasi dilakukan seperti biasa di desktop build:

<PropertyGroup Condition=" '$(BuildingInsideVisualStudio)' != 'true' ">
  <SuppressValidation>true</SuppressValidation>
</PropertyGroup>

Cara alternatif lainnya adalah menyebarkan agen build Anda sendiri dan kemudian jalankan agen build dengan izin administrator.

By the way, toolset WiX telah diinstal pada VSTS Hosted Build Agent, jadi Anda tidak perlu mengikuti panduan itu untuk memeriksa toolset WiX lagi. Mengacu pada daftar ini untuk perangkat lunak yang diinstal.


7
2017-07-11 02:43