daryllabar / DLaB.Xrm.XrmToolBoxTools

Plugins for the XrmToolBox
MIT License
75 stars 66 forks source link

Struggling with inital setup of EBGV2 #505

Open blundern opened 4 days ago

blundern commented 4 days ago

I'm struggling with the initial setup of EBGV2. I have read below two wiki pages that covers kind of what I'm trying to achive.

My goal is to implement EBGV2 so I am able to run the PAC CLI modelbuilder from a PowerShell script (which works great already without any extending..)

In my PS-script I'm installing PAC CLI as documented from Microsoft here: https://learn.microsoft.com/en-us/power-platform/developer/howto/install-cli-net-tool?tabs=windows

With the ps command: dotnet tool install --global Microsoft.PowerApps.CLI.Tool

When installning like this PAC CLI not seams not to be installed in the same folder structure as described in the wikis below.

It seams to me PAC CLI is installed here for me: C:\Users\MyUserName.dotnet\tools.store\microsoft.powerapps.cli.tool\1.32.8\microsoft.powerapps.cli.tool\1.32.8\tools

the pac.exe is located in the first tools directory.

What am I missing? Were to put all the extensions.dlls?

Wiki - Integration the early bound genereator into your pipeline

_"Running Via the Command Line PAC 1 - Copy the contents of the DLaB.EarlyBoundGeneratorV2 in the XrmToolBox Plugins directory (Default: C:\Users{UserName}\AppData\Roaming\MscrmTools\XrmToolBox\Plugins\DLaB.EarlyBoundGeneratorV2) 2 - Paste the entire directory into the latest version of PAC Tools directory (C:\Users{UserName}\AppData\Local\Microsoft\PowerAppsCli\Microsoft.PowerApps.CLI.X.X.X\tools). This will end up with a \tools\DLaB.EarlyBoundGeneratorV2 directory in the PAC directory. 3 - Move the DLaB.ModelBuilderExtensions.dll up a directory from the \tools\DLaB.EarlyBoundGeneratorV2 directory to the tools directory 4 - Create an AUTH in the PAC if it doesn't already exist (Example using App/Secret: PAC auth create --name {NAME} --tenant {TENENT_ID} --applicationId {APP_ID} --clientSecret {APP_SECRET} --url https://{ORG_URL_NAME}.crm.dynamics.com/) 5 - Run the command line of the tool the Early Bound Generator spits out (PAC modelbuilder build --outdirectory {OUTPUT_DIRECTORY} --settingsTemplateFile {PATH_TObuilderSettings.json})"

Wiki - Upgrade to PAC modelbuilder

"EBGv2 follows the same pattern, only using the PAC CLI. This involves a much simpler command line (PAC modelbuilder build --outdirectory {DirectoryPath} --settingsTemplateFile {builderSettings.json path}) and all the EBGv2 settings are written to the same builderSettings.json file. Users will need to first Auth to their org before running the command. Users will also need to include the DLaB.ModelBuilderExtensions.dll, DLaB.Dictionary.txt and alphabets folder in their latest PAC directory (C:\Users%UserName%\AppData\Local\Microsoft\PowerAppsCli\Microsoft.PowerApps.CLI.X.X.X\tools)"

daryllabar commented 4 days ago

Apparently they have moved the install location for the PAC CLI. At the end of the day, the DLaB.ModelBuilderExtensions.dll, DLaB.Dictionary.txt file and alphabets folder need to exist in your latest PAC directory. Does that help?

blundern commented 3 days ago

It should help I guess :D but can't get it to work. This is what I'm doing.

I'm adding the files here:

image

runs this from PowerShell: pac modelbuilder build -o . -stf .\builderSettings.json

with this builderSettings.json file: image

And recieve this error: image

daryllabar commented 3 days ago

I don't understand how you're arriving at your path. At the end of the day, you will need to move the following files into the same folder as your pac.exe: image

For me, I found it on my machine by opening a command prompt, and typing

where pac

image

which took me to the pac.cmd: image

where I then navigated to the most recent Pac CLI folder, and then tools to find the actual pac.exe image

So it would be in the folder of the pac.exe that you'd need to copy the DLaB.ModelBuilderExtensions.dll, DLaB.Dictionary.txt file and alphabets folder need to exist in your latest PAC directory. If you're trying to script this, you could even get these files from the API nuget package (https://www.nuget.org/packages/DLaB.Xrm.EarlyBoundGeneratorV2.Api)

daryllabar commented 3 days ago

Ok, re-read your initial post. I'd just search for the Pac.exe in the microsoft.powerapps.cli.tool folder. That would be where you'd need to get my DLaB.ModelBuilderExtensions.dll, DLaB.Dictionary.txt file and alphabets folder copied to.