Skip to content

ClickOnce deployment fails due to invalid relative paths in native DLL manifest entries #518

@architpoddar-if

Description

@architpoddar-if

Summary

The agora_rtc_sdk NuGet package (version 4.2.1) causes ClickOnce deployment failures in .NET Framework 4.8 WPF applications due to invalid relative path entries in the application manifest for native extension DLLs.

I'm using the Voice Calling feature which works absolutely as expected when I'm in a debugging session from Visual Studio 2022.

Environment

  • Package Version: agora_rtc_sdk 4.2.1
  • Target Framework: .NET Framework 4.8
  • Project Type: WPF Application
  • Deployment Method: ClickOnce
  • Visual Studio Version: 2022
  • Windows Version: 10.0.26100.0

Error Details

System.Deployment.Application.InvalidDeploymentException (ManifestComponentSemanticValidation)
- File element .\libagora_video_quality_analyzer_extension.dll must have a relative path.

Full Error Log:

Exception reading manifest from file:///D:/PilotAppPublish/Application%20Files/PilotApp_1_1_1_3230/PilotApp.exe.manifest: the manifest may not be valid or the file could not be opened.
Application manifest is not semantically valid.
File element .\libagora_video_quality_analyzer_extension.dll must have a relative path.

Problematic DLLs

The following native DLLs cause ClickOnce manifest validation failures:

  • libagora_video_quality_analyzer_extension.dll
  • libagora_ai_echo_cancellation_extension.dll
  • libagora_ai_noise_suppression_extension.dll
  • libagora_spatial_audio_extension.dll
  • libagora_content_inspect_extension.dll
  • And several other extension DLLs

Expected Behavior

ClickOnce deployment should complete successfully with all necessary Agora DLLs properly included in the application manifest with valid relative paths.

Actual Behavior

ClickOnce deployment fails during manifest generation/validation due to improper path handling of native extension DLLs.

Impact

  • Blocks ClickOnce deployment for .NET Framework applications
  • Affects enterprise applications that rely on ClickOnce for easy deployment and updates

Workaround Attempted

Tried excluding non-essential DLLs using MSBuild targets and PublishFile exclusions, but the core issue persists with the manifest path validation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions