Jump to content

Can't install palettes to <menus>\Categories


Daklu

Recommended Posts

I've been using VIPM Pro to try to create a dyanmic palette package that would install a single synchronized .mnu file to <menus>\Categories. This technique has been described in other threads and I believe it's how the OpenG and JKI Toolkits menus work. When running Windows 7 and LV2009 the installation fails with the following error text, though it does not generate an error log:

 

Main Package Name: menus_lib_test_vipm_package-1.0.0-1

Package Name with Error: menus_lib_test_vipm_package-1.0.0-1

Error Message: VIPM could not install the package menus_lib_test_vipm_package-1.0.0-1 .

Error Code: 1

Error Source: Create Folder in Create Dir if Non-Existant__ogtk.vi->ZLIB Read Compressed File__ogtk.vi->VIPM ZLIB Extract File (Optimized).vi->F708E1932FBA2EC75169814B1C5ED2A8->8E3829D02DE8A62074DD090AE0A0E188->33516115B17A724501600154F5A39EDF.lvlib:AA082459946BE4C53B30C4CBCDFD0679->33516115B17A724501600154F5A39EDF.lvlib:7E5E9B93FA8C8DD25F25EF42ADB93E18->21B089D9C08E3EF4FD4D10088FFAEAAA->VIPM Main Window.vi

===============

 

I thought it might have something to do with UAC not allowing writes to the Program Files directory, so I tried the following:

 

- Created a duplicate package that installed the palette to user.lib instead. This installs correctly.

- Run VIPM with administrator rights. Install still fails.

- Uninstalled and reinstalled the JKI Toolkits palette, which also uses the Categories folder. It worked fine.

 

So I examined the spec files in the cache and found this...

 

post-2450-1269620418_thumb.png

 

The spec file on the right is the one for my test package. Notice the invalid path defined in Target Dir. To make sure I had actually set up the build correctly I double checked the installation locations and rebuilt the package with the same result.

 

post-2450-1269620744_thumb.png

 

I also configured and built a similar package using OGPB that did NOT exhibit this problem. All three packages are included.

 

menu_test_ogpb_package_1.0_1.ogp

menus_lib_test_vipm_package_1.0.0_1.vip

userlib_lib_test_vipm_package_1.0.0_1.vip

Link to comment
Share on other sites

Hi Daklu,

 

Here's how we do it. Please check out the attached example:

 

Custom_Palette_Category_Example.zip

 

This includes the following:

 

acme_rsc_palette-1.0-1.ogp (file)

A package that adds an Acme Tools category to the Functions Palette.

 

Palette Category Package Source (folder)

Run "Example - Build Palette Package.vi" to create the "acme_rsc_palette-1.0-1.ogp" package. You can edit the parameters in the constant on the block diagram. Edit "icon.bmp" to change the icon.

 

acme_lib_example_vi_package-1.0.0-1.vip (file)

An example package that gets added to the Acme Palette.

 

Example VI Package Source (folder)

VI Package Source Folder for the " acme_lib_example_vi_package-1.0.0-1.vip" package.

 

Other notes:

  • acme_lib_example_vi_package-1.0.0-1.vip has a dependency on the acme_rsc_palette package.
  • the acme_lib_example_vi_package package uses a custom installation location: \addons\_Acme.lib

Let me know if you have any questions.

Link to comment
Share on other sites

Here's how we do it. Please check out the attached example:

 

Thanks Jim. This is very helpful.

 

(Note to other users: The examples also depend on the oglib_file and oglib_picture packages.)

 

 

 

[Edit]

I noticed NI has recently(?) suggested distributing code to vi.lib instead of user.lib. Do you have any insight into why this is? The only practical difference I can see (ignoring the auto-populating user palette) is the source control configuration includes the option to exclude vi.lib but not user.lib.

Link to comment
Share on other sites

Thanks Jim. This is very helpful.

 

(Note to other users: The examples also depend on the oglib_file and oglib_picture packages.)

[Edit]

I noticed NI has recently(?) suggested distributing code to vi.lib instead of user.lib. Do you have any insight into why this is? The only practical difference I can see (ignoring the auto-populating user palette) is the source control configuration includes the option to exclude vi.lib but not user.lib.

 

Hi Daklu,

 

I guess that the reasoning is that NI has always told people to put their reusable code under user.lib. So, I guess that they consider user.lib to be like "the wild west".

 

There are some other places where NI allows treating vi.lib in a special way, where no such consideration is given for user.lib:

  • Source distribution build specification additional exclusions (exlude VIs from vi.lib)
  • VI Hierarchy window (filter out VIs from vi.lib)

Plus, there's probably others.

 

Basically, NI "owns" vi.lib and now they are formally allowing access to it in a controlled way.

 

Thanks,

Link to comment
Share on other sites

  • 1 year later...

Is this example available in LabVIEW 8.5 also? I had all the VIs downconverted, but the acme_lib_example_vi_package-1.0.1-1.vip is only compatible with LabVIEW versions 8.6.

 

Thanks for your help ;)

Hi Daklu,

 

Here's how we do it. Please check out the attached example:

 

Custom_Palette_Category_Example.zip

 

This includes the following:

 

acme_rsc_palette-1.0-1.ogp (file)

A package that adds an Acme Tools category to the Functions Palette.

 

Palette Category Package Source (folder)

Run "Example - Build Palette Package.vi" to create the "acme_rsc_palette-1.0-1.ogp" package. You can edit the parameters in the constant on the block diagram. Edit "icon.bmp" to change the icon.

 

acme_lib_example_vi_package-1.0.0-1.vip (file)

An example package that gets added to the Acme Palette.

 

Example VI Package Source (folder)

VI Package Source Folder for the " acme_lib_example_vi_package-1.0.0-1.vip" package.

 

Other notes:

  • acme_lib_example_vi_package-1.0.0-1.vip has a dependency on the acme_rsc_palette package.
  • the acme_lib_example_vi_package package uses a custom installation location: <vi.lib>\addons\_Acme.lib

Let me know if you have any questions.

Link to comment
Share on other sites

Is this example available in LabVIEW 8.5 also? I had all the VIs downconverted, but the acme_lib_example_vi_package-1.0.1-1.vip is only compatible with LabVIEW versions 8.6.

Thanks for your help ;)

 

Hi There. This thread is really only relevant for VIPM 3.0. In VIPM 2010, we added the ability to create/install a custom palette category for your package. Have you tried this? Can you explain more about what you are trying to accomplish, so that we can best help you?

 

Thanks!

Link to comment
Share on other sites

Hi There. This thread is really only relevant for VIPM 3.0. In VIPM 2010, we added the ability to create/install a custom palette category for your package. Have you tried this? Can you explain more about what you are trying to accomplish, so that we can best help you?

 

Thanks!

 

 

I would like to be able to automatically generate a palette with my company name in the functions section of the palette. Then under my company name put different categories much like the OpenG palette is organized. Using the VIPM it seemed limited in the sense that you can only go 2 layers deep. For example I have a VI called "Is String Numeric?" I would like to put this VI here: Functions\RFI\Comparison\Is String Numeric. How do I add these extra layers? I know that if Fucntions\RFI already exists then in VIPM I can set the Category to Comparison and then browse to Fucntions\RFI for my functions path, but what if this doesn't exist yet, how do I get it there, is there a way to automate this without using LabVIEW Edit Platte Set?

 

Also, the available top level folders in the VIPM Function Palettes in LabVIEW are not reflecting all the top level palettes that are linked to directories that I can see in LabVIEW's edit Palette set, where is VIPM getting this list?

 

Is there any information anywhere regarding the pros and cons and the how to about creating a dynamic palette structure like OpenG?

Link to comment
Share on other sites

I would like to be able to automatically generate a palette with my company name in the functions section of the palette. Then under my company name put different categories much like the OpenG palette is organized. Using the VIPM it seemed limited in the sense that you can only go 2 layers deep. For example I have a VI called "Is String Numeric?" I would like to put this VI here: Functions\RFI\Comparison\Is String Numeric. How do I add these extra layers? I know that if Fucntions\RFI already exists then in VIPM I can set the Category to Comparison and then browse to Fucntions\RFI for my functions path, but what if this doesn't exist yet, how do I get it there, is there a way to automate this without using LabVIEW Edit Platte Set?

 

Also, the available top level folders in the VIPM Function Palettes in LabVIEW are not reflecting all the top level palettes that are linked to directories that I can see in LabVIEW's edit Palette set, where is VIPM getting this list?

 

Is there any information anywhere regarding the pros and cons and the how to about creating a dynamic palette structure like OpenG?

 

For the case you mentioned, I would create a "Comparison" package and have it install into the RFI custom category, as shown below:

 

4-7-2011 3-34-50 PM.png

 

 

Does this do what you want? Try building and installing your package this way and let me know if it works.

 

Thanks,

 

-Jim

Link to comment
Share on other sites

For the case you mentioned, I would create a "Comparison" package and have it install into the RFI custom category, as shown below:

 

post-2-0-21036000-1302215764_thumb.png

 

 

Does this do what you want? Try building and installing your package this way and let me know if it works.

 

Thanks,

 

-Jim

 

 

Ahhhh, yes. That did it, as usual "operator error." Thanks Jim ;)

 

Thanks,

Anthony

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.