Re: Programmatically reload Project Providers?

I'm gonna regret saying this but I think the restart LabVIEW action is something VIPM needs to handle for the package developer. If you are installing several packages and each one requires LabVIEW restart, it could get crazy messy for the end user.

One solution would be to set a flag in the package building process that VIPM reads during install. Then VIPM can do a single restart at the end of the install process.

Another solution is for VIPM to interrogate if the package is a project provider and does the LabVIEW restart for that condition.

Re: Programmatically reload Project Providers?

One solution would be to set a flag in the package building process that VIPM reads during install. Then VIPM can do a single restart at the end of the install process

Another solution is for VIPM to interrogate if the package is a project provider and does the LabVIEW restart for that condition.

I think it's up to the packager to decide if a restart is needed. Adding a check for project provider is nice, but it's only one usecase - I'd like the option of forcing a restart (I don't have an immediate need, but I can see where it would be useful, especially when using VIPM to install more than just LabVIEW code).

Re: Programmatically reload Project Providers?

I'm gonna regret saying this but I think the restart LabVIEW action is something VIPM needs to handle for the package developer. If you are installing several packages and each one requires LabVIEW restart, it could get crazy messy for the end user.

One solution would be to set a flag in the package building process that VIPM reads during install. Then VIPM can do a single restart at the end of the install process.

Another solution is for VIPM to interrogate if the package is a project provider and does the LabVIEW restart for that condition.

Another thing for consideration: I used the word "tinkered" above with the post-install step for good reason -- when calling "App.Restart", my first experience was the scary dialog that says something like "Warning, quitting will abort running VIs", and this technical hurdle appeared much higher than what I'm wanting to jump right now (not to mention, right now I don't want to try to consider the ramifications of bailing on LV while VIPM is doing stuffs with it).

Building the "Must Restart" feature into VIPB seems reasonable; I had not even considered the case of installing multiple (or chained) packages. And agreed with crelf it's the package designer's decision to explicitly check or not check this option; no need to "auto-detect"

Re: Programmatically reload Project Providers?

It's arguably the end-users who benefit more -- so this is not just for developers on the LabVIEW Tools Network, it's for users also (which is a few orders of magnitude greater).

This is a good point, the end user would benefit from it, but I also think that they would have no idea that they benefit from it. If an idea exchange post asked for "reload project providers", any user of <insert favorite provider product> would not neccessarily even know that the product uses project providers, much less that it should be reloaded. On the other hand, having an idea exhange post that says "Allow <insert favorite provider product> to reload without restarting LabVIEW", the scope of the audience very small. But I suppose there's no harm in trying...

No, no, no, no, no, no, no, no. How many times have you lost work due to forced restarts from Windows Updates? As a developer, I want complete control over when LV shuts down. I often leave projects open for days at a time--it helps me keep track of what I was working on at the end of my last coding session. Forcing a restart is terribly inconvenient. I either have to interrupt my workflow and restart LV or wait until I'm ready to close LV before installing the package. I'd much rather have a dialog box notifying me LV must be restarted before the package will work. That way I can install the package whenever I want and restart LV when I'm ready.

I take "Forcing a restart" semantically as "Pop up a dialog that says 'Restart Now' or 'Manually Restart Later'", not literally "LabVIEW's unconditionally going down right now". Plus if the "Restart Required" flag were embedded into the VIP, it could somehow be displayed on the Product Info dialog prior to installing the package.

I take "Forcing a restart" semantically as "Pop up a dialog that says 'Restart Now' or 'Manually Restart Later'", not literally "LabVIEW's unconditionally going down right now". Plus if the "Restart Required" flag were embedded into the VIP, it could somehow be displayed on the Product Info dialog prior to installing the package.

Right - I can't think of any time in recent memory were I've actually been *forced* to restart before I was allowed to do anything else (eg: save my work). So, yes, what Jack said.