JamesW Posted January 22, 2021 Report Share Posted January 22, 2021 Anyone got any idea how to use API to automate: 1) Launching the API without UAC issues on a win 10 PC (get a consistent requirement for elevated priviledges with VIPM - probably due to the Registry update service that is launched and IT aren't happy to make this an exclusion. 2) scanning project to create a VIPC file (if the service is already running) - can scan successfully, but "Scan Project.vi" hangs in synchronous mode for me, and in a-synchronous mode there is a dialog generated to show completion (which I can detect) but can't seem to dismiss. Using the SendKey_8.2_llb, I can find the window, but can't close the window as the application doesn't have focus. Silent mode is not respected (a bug). Tech support request has been open for nearly 2 months, but not updated since 4th Dec. Other people must be using VIPM in a CI context, I can't be the first to try this on 64bit LabVIEW surely? (Goal is to scan a project, create a VIPC file based on packages used by project, & reverse the process, so unpack a VIPC file within a project and install packages before building a project) Any suggestions of hacks to get around the JKI API not working are appreciated. Cheers James Quote Link to comment Share on other sites More sharing options...
Jim Kring Posted January 23, 2021 Report Share Posted January 23, 2021 Hi James. I'm sorry this still isn't working well for you. Thanks for reaching out to let us know. This has been a wild couple of months for everyone, so thank you for your patience. Understanding and fixing these issues is important, and I'll do my best to help resolve the issues. My understanding of your goals/issues are the following: --- Goals To be able to use VIPM API in a CI context to achieve the following: A ) Create a package configuration for a project A.i) Scan a Project for Dependencies A.ii) Create a VIPC file of the found dependencies B ) Apply a package configuration for a project B.i) Apply a VIPC file for a project B.ii) Install packages before building a project Issues There are some problems encountered along the way: 1) The UAC gets triggered (probably due to the Registry update service) 2) Silent mode is not respected (a bug) --- Did I miss anything? For Issue #1, we might be able to resolve this by adding a configuration setting (INI file key) to suppress the launching of the registry update service when VIPM starts. I'm not sure why VIPM is running that at every launch, and it certainly doesn't need to do that in a CI context. For Issue #2, can you provide a little more information about which step above is causing dialogs to show (even when silent mode is specified) that need to be suppressed? Thanks again for reporting these and for your help as we work through trying to resolve them. -Jim Quote Link to comment Share on other sites More sharing options...
JamesW Posted January 25, 2021 Author Report Share Posted January 25, 2021 (edited) Hi Jim, Thanks for getting back, I think your summary is a good description of what I'm trying to achieve. The resolution for issue #1 sounds good as I believe it is the registry update service that is causing me issues with UAC. for issue #2 it is the dialog titled "VIPM - Project Dependency Scan Results " (note the extra space on the end - I think that's a typo) that appears after running. If I run Scan Project with Synchronous = TRUE, the VI just hangs... If I run is with Synchronous = FALSE, the VI scans and completes but I can't kill the window. (I've set a timeout of 60secs and it's easily long enough) (Actually - I have finally found a way of killing the window, but it's horrible and took me ages, with Windows SendInput function to dismiss it, and I must run the calling application as admin due to issue#1 to get the Inputchar feed through) - I'd much rather it worked properly without having to hack. It's taken me too long to get the API 'working' and I've too many hacks to be happy that my Proof of concept is going to be reliable with JKI updates! - it was a long weekend) Cheers James Edited January 25, 2021 by JamesW Quote Link to comment Share on other sites More sharing options...
JamesW Posted January 25, 2021 Author Report Share Posted January 25, 2021 (edited) Hi Jim, I think issue#1 is affecting issue#2 on compiling the Exe and running as admin, The popup doesn't stay, it's only when the Scan project.vi is run from a function that is launched without Admin permissions that is doesn't close! (If the VI is run without Admin permissions, UAC is required to allow it to launch - and then user interaction is seemingly required to close the dialog, hence my longwinded SendInput function to work around it) - I've been experimenting with CMD line inputs to the LabVIEW EXE today Cheers James Edited January 25, 2021 by JamesW Quote Link to comment Share on other sites More sharing options...
Jim Kring Posted January 26, 2021 Report Share Posted January 26, 2021 Hi James. Thanks for that extra information. Also, I am curious to lear more about how you're doing programmatic scan for package dependencies on a project. What I've seem most often is that the developer team is responsible for deciding which packages are dependencies of a project. Then, the automated build tool makes sure those dependencies are installed before the build. Can you tell me more about this? is this something you're doing on projects or just part of the proof-of concept? I'm working with our team to reproduce these issues and see if they can be fixed. Thanks. Quote Link to comment Share on other sites More sharing options...
JamesW Posted January 26, 2021 Author Report Share Posted January 26, 2021 Hi Jim, This is the proof of concept, I'm running it on my project as we setup our new CI system. The VIPC is created using scan project for packages. I'm creating the tool that will go in the project (hopefully the idea is to run it either on check-in or local compile to build the VIPC) Then the tool that I've created to run on the CI server will install the packages in the VIPC. As both can be run from CMD line, they can be used to setup a new developer machine / switch a project and package set between LabVIEW versions quickly as well as used with the CI. (If there was a way to list all of the packages on installed a machine then I would also consider cleaning all of the packages out between projects/builds to prevent bloating using the uninstall packages by name function.) Cheers James Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.