web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Answered

Deploy resources from deployable packages fetched from source control

(0) ShareShare
ReportReport
Posted on by 100

Hi,

I have an issue with missing resources (images, scripts and HTML) for deployable packages from ISVs on our development VMs.

The packages are installed on one development VM, added to source control and fetched by the other developers, like outlined in the following:

https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/manage-runtime-packages#deployable-packages-from-third-parties


Everything works fine, except that ex. images are missing on the other development VMs which has only fetched the artifacts (and tried to restart the AOS/Batch/IIS, refresh models, full build and DB sync).

 

The issue seems to be that the resources are not deployed to the webroot resource folders, like K:\AOSService\webroot\Resources\Images, as is the case when installing the package on the first development VM or when deploying through ex. LCS.


To work around it, I’m currently just invoking the DeployResources-script manually on each of the developer VMs after a change to the resources, but that does not seem right, and adding the webroot resource folders to source control also seems very wrong.

Shouldn’t the resources be deployed whenever I’m doing a build in VS?
As is the case with models containing source.

Thanks,
DFA

I have the same question (0)
  • André Arnaud de Calavon Profile Picture
    299,702 Super User 2025 Season 2 on at
    RE: Deploy resources from deployable packages fetched from source control

    Hi DFA,

    Have you also started a DB sync after the deployment and build?

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    Yes, I have done a DB sync after getting the artifacts from source control and doing a full build.

    The order I'm trying is to get latest, restart the AOS/Batch/IIS (also tried to restart the entire server), refresh models, full build and finally DB sync.

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    I’m hoping that I’m just missing a step.

     

    The repro-steps are quite easy, but they take a while: 

    1. Create a new model.
      1. Add a resource, like an image.
      2. Add a form which uses the image (to validate that it’s missing).
      3. [Optional] Add menu item for the form, update model reference and attach the menu item to a menu.
    2. Generate deployable package from VS (or a DevOps pipeline).

    Then there’s a couple of ways continue from here:

    1. Representative approach:

      1. Import the deployable package to another development machine.
        This will invoke the DeployResources-script, so the image should be in the image folder of the webroot resources, like K:\AOSService\webroot\Resources\Images
      2. Try to open the form. The image should be displayed correctly.
      3. Add the model to source control.
      4. Fetch the model on another development machine which does not already have the image in the webroot folder.
      5. Restart the AOS/Batch/IIS or entire server, refresh models, full build and DB sync.
      6. Try to open the form. The image should be missing.

    2. Quick & dirty approach - 1:

      1. Unzip the model from the deployable package to a folder and add it to the PackagesLocalDirectory of another development machine which does not already have the image in the webroot folder.
      2. Restart the AOS/Batch/IIS or entire server, refresh models, full build and DB sync.
      3. Try to open the form. The image should be missing.
    1. Quick & dirty approach - 2:

      1. Import the deployable package to another development machine.
        This will invoke the DeployResources-script, so the image should be in the image folder of the webroot resources, like K:\AOSService\webroot\Resources\Images
      2. Try to open the form. The image should be displayed correctly.
      3. Delete the image from the webroot folder.
      4. Restart the AOS/Batch/IIS or entire server, refresh models, full build and DB sync.
      5. Try to open the form. The image should be missing.

    The issue for all 3 repro steps can be resolved by running the DeployResources-script manually.

  • ergun sahin Profile Picture
    8,824 Moderator on at
    RE: Deploy resources from deployable packages fetched from source control

    Did you try adding via VS  then check in

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    Hi Ergun Sahin,

    Could you elaborate on “adding via VS”.

    Which steps are you referring to?

  • Suggested answer
    André Arnaud de Calavon Profile Picture
    299,702 Super User 2025 Season 2 on at
    RE: Deploy resources from deployable packages fetched from source control

    Hi DFA,

    Your two quick and dirty scenarios are not supported methods and should not be used. I wonder what exactly you are doing in the first scenario. What do you mean with adding the model to source control? Did you add the model, but also the runtime packages to source control? Probably you forgot to add the runtime packages?

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    I’m aware, which is why I called them dirty. It’s just to quickly get the binary into an environment and demonstrate that build alone does not seem to search for and deploy missing resources from binary packages.

    I added the package folder from the Metadata folder, which in my test-project contains AdditionalFiles, bin and WebContent.

    The same steps as mentioned in the link docs.microsoft.com/.../manage-runtime-packages

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    And just to clarify.

    We have been using the process of adding artifacts from third party deployable packages to source control where our own code is also located, generating the packages in our Azure DevOps build pipeline (or from VS), and deploying them through LCS (or manually on development environments) for quite a long time without any issues related to resources.

    This works, because both LCS deployment and manual installation on development environments invokes the standard DeployResources script, which copies the resources to the correct folders.

    Generating a package in VS on a development environment which is missing the resource, and manually installing that package on another brand-new development environment (without source control) results in the resource showing up.

    So, I find it highly unlikely that it is related to missing files or wrong mapping in source control, but instead a missing step on the development environments after synchronizing the local workspace.

  • Suggested answer
    Joris dG Profile Picture
    17,775 on at
    RE: Deploy resources from deployable packages fetched from source control

    The packaging step of the hosted pipeline was never supposed to "implicitly" package ISVs. Unfortunately, because of the powershell script that copies bin folders, it accidentally copies the ISV bin over and that gets packaged (without resources).

    The correct resolution is to explicitly tell the packaging step to include the ISV folder.

    I've outlined this on my blog and the linked YouTube video: www.codecrib.com/.../including-isv-binaries-in-your-package.html

  • DFA Profile Picture
    100 on at
    RE: Deploy resources from deployable packages fetched from source control

    Hi Joris de Gruyter,

    Thanks for your input, I had already read your post.

    However, we do not seem to have any issues with the packages that we create or the deployments (image shows up, all tests pass, all third party changes are confirmed etc.).

    The only issue I have is when getting third party artifacts from source control, using the same mapping as our build, on another brand-new development environment.

    In that case, the image is not displayed on the form (Process monitor shows that it’s only searching for the image in the web root resource image folder, which returns NAME NOT FOUND), the web root resource image folder does not contain the image, but the image is part of the artifacts.

    The last part can be validated by running DeployResources on the brand-new development environment, which extracts the image from the artifacts and puts it in the web root resource image folder.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Pallavi Phade – Community Spotlight

We are honored to recognize Pallavi Phade as our Community Spotlight honoree for…

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 747 Super User 2025 Season 2

#2
CA Neeraj Kumar Profile Picture

CA Neeraj Kumar 743

#3
Sohaib Cheema Profile Picture

Sohaib Cheema 528 User Group Leader

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans