microsoft / Analysis-Services

Git repo for Analysis Services samples and community projects
MIT License
605 stars 416 forks source link

ALM Toolkit as portable app #291

Closed MaratAbdullaev closed 2 months ago

MaratAbdullaev commented 2 months ago

Please make this awesome product available as portable app, so people without admin rights can enjoy the tool. Thanks!

christianwade commented 2 months ago

Thanks for the feedback Marat! I'd love to, but it installs the chromium hosted browser for the diff grid, so I believe it needs a proper installer unfortunately. Will keep it in mind anyway.

JamesDBartlett3 commented 2 months ago

@christianwade, is there a reason the Chromium hosted browser has to be installed, rather than portable? Alternatively, could ALM Toolkit use the WebView2 library that ships with Power BI Desktop to render the diff grid?

MaratAbdullaev commented 2 months ago

I love the tool! However without digital signature I cannot get our IT security to have it approved :-( If installer is the only option, can Microsoft at least help by sponsoring the digital signature?

christianwade commented 2 months ago

@christianwade, is there a reason the Chromium hosted browser has to be installed, rather than portable? Alternatively, could ALM Toolkit use the WebView2 library that ships with Power BI Desktop to render the diff grid?

I James, I hear you. At the end of the day, it comes down to work. I suspect WebView2 has similar installation issues. I believe the solution for this regarding Power BI Desktop is they deploy it through the Windows Store. I just looked into that and it requires rebuilding the installation using the MSIX Packaging Tool and I don't know yet whether this is compatible with ALM Toolkit. I'll try to evaluate that when I get the chance. There are also certain things that require admin permissions like creating the files in the Power BI Desktop folder necessary to run ALM Toolkit as an external tool, so need to check feasibility.

christianwade commented 2 months ago

I love the tool! However without digital signature I cannot get our IT security to have it approved :-( If installer is the only option, can Microsoft at least help by sponsoring the digital signature?

Thanks for the feedback Marat! @svemuri8 did some work so the latest version should be digitally signed. Can you retry and see if it solves the problem?

MaratAbdullaev commented 2 months ago

Absolutely. Signature was a blocker for us. And now when digital signature is there, I am sure more companies will be able to use it. Thanks a lot! Maybe it was worth mentioning digital signature in the blog post :-)

MaratAbdullaev commented 2 months ago

Great that with digital signature it is easier to install/whitelist :-) Portable would be a great option, but I close this one as my issue is resolved.

JamesDBartlett3 commented 2 months ago

@christianwade, the reason I'm hoping for a portable version of ALM Toolkit is so that @mikecarlo and I can start shipping it as an upgradeable External Tool in PowerBI.tips Business Ops.

Currently, Business Ops ships ALM Toolkit bundled inside its own installer, so the only way Business Ops users who install ALM Toolkit from Business Ops can upgrade ALM Toolkit when a new version is released is to wait for the next Business Ops version. However, we recently added a new External Tool installation method to Business Ops, which calls the GitHub Releases API to find the latest version of each External Tool, checks that version against the locally installed version, and if a later version is available, allows the user to download and install it.

In order to streamline this process so that Business Ops users can install all of their preferred External Tools at once without having to click through a dozen separate installation wizards, we designed Business Ops to download the portable version of each External Tool, then simply extract the .zip file and deploy its contents to a predefined location on the hard drive, and link the .pbitool.json file to that location.

We've already implemented this new installation method for Bravo, DAX Studio, Tabular Editor (2 & 3), Measure Killer, PBI Inspector, and Report Analyzer; and we're working with the authors of several more External Tools to add even more to this list. We'd really like to start shipping ALM Toolkit with this same installation method, as it would allow Business Ops users to get the latest version of ALM Toolkit as soon as it's released, rather than whenever Mike and I can find the time to download the ALM Toolkit .msi file, extract its contents, bundle it up in a new Business Ops installer version, test it for bugs, and ship it.

Sorry for writing a novel, I just wanted to make sure you were aware of the huge scope of impact that a portable version of ALM Toolkit would have.

christianwade commented 2 months ago

Hi James, so the current version of the Business Ops installer (without the new external tool installation method) was working successfully by simply copying the files from the installation directory?

JamesDBartlett3 commented 2 months ago

@christianwade, I spoke with @MikeCarlo about this yesterday, and he said that he was able to extract the MSI file with pbi-tools and run ALM Toolkit from there, though I haven't used this technique myself. The method I've been using involves copying the MSI file to a Windows Sandbox, installing it there, then copying the Power BI ALM Toolkit folder from Program Files in the Windows Sandbox back to my physical machine, and then running ALM Toolkit from there.

MikeCarlo commented 2 months ago

This is a similar concept that I use when working with Power BI desktop and making a portable version of Desktop

I show an example of extracting the files from Power BI desktop in this video: Extracting PBI Installer - Quick Tip (youtube.com)https://www.youtube.com/watch?v=Xy3FFB3Jfdg FYI the intro is intense

Instead of doing this with power bi desktop, I can do the same with ALM toolkit.

Steps are something like the following:

  1. download ALM Toolkit from alm-toolkit.com
  2. Use pbi-tools to extract files from ALMToolkit.msi extract to a folder
  3. Zip files from extracted folder into AlmToolkit.portable.zip

Once you have the zip file you can move that zip file to any pc and unzip, and alm toolkit will work with out having to use the installer.

Mike Carlo PowerBI.Tips


From: James D. Bartlett III @.> Sent: Thursday, September 12, 2024 12:45 PM To: microsoft/Analysis-Services @.> Cc: Mike Carlo @.>; Mention @.> Subject: Re: [microsoft/Analysis-Services] ALM Toolkit as portable app (Issue #291)

@christianwadehttps://github.com/christianwade, I spoke with @MikeCarlohttps://github.com/MikeCarlo about this yesterday, and he said that he was able to extract the MSI file with pbi-tools and run ALM Toolkit from there, though I haven't used this technique myself. The method I've been using involves copying the MSI file to a Windows Sandbox, installing it there, then copying the Power BI ALM Toolkit folder from Program Files in the Windows Sandbox back to my physical machine, and then running ALM Toolkit from there.

— Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Analysis-Services/issues/291#issuecomment-2346890056, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF76XEG4TLTCT7ZHYIBEWXDZWHHLXAVCNFSM6AAAAABNRR6ILCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBWHA4TAMBVGY. You are receiving this because you were mentioned.Message ID: @.***>

christianwade commented 2 months ago

Thanks Mike. James, will this work for you? You can detect and download new releases direct from the github repo page: https://github.com/microsoft/Analysis-Services/releases

MikeCarlo commented 2 months ago

Are you proposing we detect the MSI file or you can add the portable version in that distribution?

For comparison we scan for portable.zip on DAX Studio releases page in the assets

When we see a new release we notify users in Business ops, download the ZIP unpack it and update DAX studio.

[cid:d0208888-5a30-44f4-b8f5-1a72db1b6fff]

If you could add a portable.zip file into your release that would be ideal

[cid:32c4398d-eb66-43a8-9319-361c621175be]

I think your deployment pipeline should be able to build a portable.zip file on the output. I'd have to ask darren gosbell (dgosbell (Darren Gosbell) · GitHubhttps://github.com/dgosbell) how he does it for DAX studio, but I would image it is the same process.

Mike Carlo PowerBI.Tips @.***


From: Christian Wade @.> Sent: Thursday, September 12, 2024 1:46 PM To: microsoft/Analysis-Services @.> Cc: Mike Carlo @.>; Mention @.> Subject: Re: [microsoft/Analysis-Services] ALM Toolkit as portable app (Issue #291)

Thanks Mike. James, will this work for you? You can detect and download new releases direct from the github repo page: https://github.com/microsoft/Analysis-Services/releases

— Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Analysis-Services/issues/291#issuecomment-2347001849, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF76XEE5RSPQMPTFYNVKTMDZWHOORAVCNFSM6AAAAABNRR6ILCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBXGAYDCOBUHE. You are receiving this because you were mentioned.Message ID: @.***>

JamesDBartlett3 commented 2 months ago

@christianwade, I checked the link you posted, but I only see the MSI file and the source code there. Can you add a step in your build pipeline that bundles the contents of the installation folder as a separate ZIP file like Mike suggested above?

christianwade commented 2 months ago

Hi @JamesDBartlett3 , can you please confirm this works for you? https://github.com/microsoft/Analysis-Services/releases/download/5.1.3/AlmToolkitPortable.zip

JamesDBartlett3 commented 2 months ago

@christianwade, I downloaded and extracted the zip file in a fresh Windows Sandbox, and it appears that the C++ Redistributable Packages for Visual Studio x86 dependency is missing. image

_Edit: I downloaded and installed the missing library in the Windows Sandbox, and now it works._

christianwade commented 2 months ago

That's what I feared. This is a CefSharp dependency (done by a vendor) and I don't think I can resolve it with xcopy deployment.