Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] Error in generating wix installer on Windows #4791

Closed
miniBill opened this issue Jul 28, 2022 · 16 comments
Closed

[bug] Error in generating wix installer on Windows #4791

miniBill opened this issue Jul 28, 2022 · 16 comments
Labels
status: needs triage This issue needs to triage, applied to new issues type: bug

Comments

@miniBill
Copy link

Describe the bug

I've used the tauri-apps/tauri-action@v0 to automatically build the installer, but I get this error:

     Finished release [optimized] target(s) in 2m 22s
        Info Target: x64
     Signing C:\actions-runner\_work\[...]\src-tauri\target\release\[...].exe
     Signing C:\actions-runner\_work\[...]\src-tauri\target\release\[...].exe with identity "ae7ce42c742d8b5f1ce7547294c42dbc8b21ad91"
        Info "Done Adding Additional Store\r\nSuccessfully signed: C:\\actions-runner\\_work\\[...]\\src-tauri\\target\\release\\[...].exe\r\r\n"
     Running candle for "main.wxs"
     Running light to produce C:\actions-runner\_work\[...]\src-tauri\target\release\bundle/msi/[...]_0.0.4_x64_en-US.msi
       Error failed to bundle project: error running light.exe: error running light.exe: `failed to run C:\Users\GithubRunner\AppData\Local\tauri/WixTools\light.exe`
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Reproduction

Use tauri-apps/tauri-action@v0 on a self-hosted runner

Expected behavior

The release gets correctly created

Platform and versions

@tauri-apps/cli 1.0.3
@tauri-apps/api 1.0.2
tauri 1.0.5
tauri-build 1.0.4

Stack trace

No response

Additional context

No response

@miniBill miniBill added status: needs triage This issue needs to triage, applied to new issues type: bug labels Jul 28, 2022
@FabianLars
Copy link
Sponsor Member

Can you run it with the verbose flag enabled, like yarn tauri build --verbose -> in the action you can specify --verbose in the args property.

@miniBill
Copy link
Author

Well, the verbose logs definitely tell a story:

     Running [tauri_bundler::bundle::common] Command `C:\Users\GithubRunner\AppData\Local\tauri/WixTools\candle.exe  -arch x64 main.wxs -dSourceDir=C:\actions-runner\_work\[...]\[...]\src-tauri\target\release\[...].exe`
Windows Installer XML Toolset Compiler version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

main.wxs
     Running [tauri_bundler::bundle::windows::msi::wix] light to produce C:\actions-runner\_work\[...]\[...]\src-tauri\target\release\bundle/msi/[...]_0.0.4_x64_en-US.msi
     Running [tauri_bundler::bundle::common] Command `C:\Users\GithubRunner\AppData\Local\tauri/WixTools\light.exe  -ext WixUIExtension -ext WixUtilExtension -o C:\actions-runner\_work\[...]\[...]\src-tauri\target\release\wix\x64\output.msi -cultures:en-us -loc C:\actions-runner\_work\[...]\[...]\src-tauri\target\release\wix\x64\locale.wxl *.wixobj`
Windows Installer XML Toolset Linker version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

light.exe : error LGHT0217 : Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE02'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE03'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE04'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE05'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE06'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE07'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0216 : An unexpected Win32 exception with error code 0x643 occurred: Action - 'ICE09' Fatal error during installation
       Error [tauri_cli_node] failed to bundle project: error running light.exe: error running light.exe: `failed to run C:\Users\GithubRunner\AppData\Local\tauri/WixTools\light.exe`
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Might it be because the githubrunner user is not an admin?

@lucasfernog
Copy link
Member

@miniBill I've seen this issue on a GitLab runner, and the issue was that I had some large secrets being dumped to the runner, so I had to delete some unused environment variables. I found this SO answer that helped me: https://stackoverflow.com/questions/1064580/wix-3-0-throws-error-217-while-being-executed-by-continuous-integration/9722623#9722623
So I'd check the environment variable size and delete unused GH secrets if you have any.

@miniBill
Copy link
Author

miniBill commented Aug 1, 2022

The issue is that the GH secrets are needed for the previous steps of the tauri build. Could tauri itself clean them before calling wix?
Also, the build actually works on the GH runners. Maybe they have a cleaner ENV and barely fit? 🤔

@lucasfernog
Copy link
Member

@miniBill You can just clear the larger env vars before running tauri build, like:

$Env:APPLE_CERTIFICATE = ''
$Env:SOME_HUGE_VAR = ''
tauri build --verbose

(that syntax is for powershell, if the runner uses a different shell you can just use unset or any other equivalent)

@lucasfernog
Copy link
Member

We could clear the env when running wix, though i'm not sure if that would break any feature in case wix relies on env vars. Worth trying.

@lucasfernog
Copy link
Member

lucasfernog commented Aug 1, 2022

Pushed a fix if you want to test it.
Run cargo install --git https://github.com/tauri-apps/tauri --branch fix/wix-clear-env tauri-cli --force and then add the tauriScript input to the tauri-action usage:

- uses: tauri-apps/tauri-action@v0
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        tauriScript: cargo tauri

EDIT: gotta fix an issue first :(
EDIT2: Done.

@miniBill
Copy link
Author

miniBill commented Aug 2, 2022

I get the same error, unfortunately.

The relevant part of the GitHub action:

      - name: Install app dependencies and build web
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt
          yarn
          make Makefile.images
          make -j dist
          cargo install --git https://github.com/tauri-apps/tauri --branch fix/wix-clear-env tauri-cli --force

      - name: "Build and release the app (PR)"
        if: github.event_name == 'pull_request'
        uses: tauri-apps/tauri-action@v0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
          TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
        with:
          args: --verbose
          tagName: pr-${{ github.head_ref }}
          releaseName: "[XXX] - PR ${{ github.head_ref }}"
          releaseBody: "See the assets to download this version and install."
          releaseDraft: true
          prerelease: true
          configPath: src-tauri/tauri.conf.release.json
          tauriScript: cargo tauri

@lucasfernog
Copy link
Member

@miniBill that's sad :( only other thing i could do is allow skipping that ICE validation from WiX.
Any chance your GH secrets starts with TAURI? that's the only env vars i'm keeping, so it shouldn't cause that error unless the problem is somewhere else :/

@lucasfernog
Copy link
Member

@miniBill can you try again, but this time with the TAURI_WIX_SKIP_MSI_VALIDATION env set to true?

@miniBill
Copy link
Author

miniBill commented Aug 5, 2022

@lucasfernog only TAURI_PRIVATE_KEY and TAURI_KEY_PASSWORD start with TAURI and those are inevitable.

With TAURI_WIX_SKIP_MSI_VALIDATION I unfortunately still get:

light.exe : error LGHT0217 : Error executing ICE action 'ICE02'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".

How can I make sure that the action is using the correct tauri CLI from the branch?

@lucasfernog
Copy link
Member

@miniBill can you share the build logs?

@miniBill
Copy link
Author

miniBill commented Aug 5, 2022

@lucasfernog https://dpaste.com/C63LWSCXC
Edited to add: the link will expire in a week

@lucasfernog
Copy link
Member

@miniBill the -sval argument wasn't added by the CLI when running light.exe, so either the CLI isn't up to date, or the TAURI_WIX_SKIP_MSI_VALIDATION argument isn't reaching it. I've pushed a change to always run with -sval so we can test it.

@vedaprakashms
Copy link

i am facing the same issue, i am not trying to build in CI/CD but on local machine, i am getting the error similar to this. relevent section of verbose is below,

main.wxs Running [tauri_bundler::bundle::windows::msi::wix] light to produce C:\Users\abc\Documents\projects\tarui\xyz\src-tauri\target\release\bundle/msi/xyz_0.1.0_x64_en-US.msi Running [tauri_bundler::bundle::common] Command C:\Users\abc\AppData\Local\tauri/WixTools\light.exe -ext WixUIExtension -ext WixUtilExtension -o C:\Users\abc\Documents\projects\tarui\xyz\src-tauri\target\release\wix\x64\output.msi -cultures:en-us -loc C:\Users\abc\Documents\projects\tarui\xyz\src-tauri\target\release\wix\x64\locale.wxl *.wixobj`
Windows Installer XML Toolset Linker version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

light.exe : error LGHT0217 : Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE02'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE03'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE04'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE05'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICEFa action 'ICE06'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0217 : Error executing ICE action 'ICE07'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wixtoolset.org/documentation/error217/ for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".
light.exe : error LGHT0216 : An unexpected Win32 exception with error code 0x643 occurred: Action - 'ICE09' Fatal error during installation
Error [tauri_cli_node] failed to bundle project: error running light.exe: error running light.exe: failed to run C:\Users\abc\AppData\Local\tauri/WixTools\light.exe
error Command failed with exit code 1.`

i am new to tauri, and not able to figure out what the issue is. any help is appreciated.

@lucasfernog
Copy link
Member

lucasfernog commented Sep 28, 2022

@vedaprakashms can you try my fix?

cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch dev
cargo tauri build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: needs triage This issue needs to triage, applied to new issues type: bug
Projects
None yet
Development

No branches or pull requests

4 participants