Jump to content

Dynamically generate installer UpgradeCode


Recommended Posts

Hi everyone,

I'm implementing a tool to create brand new project based on a custom project framework that include LV code and build specifications. After cloning and setting anything up and  running, I need to find a way to update the installer UpgradeCodes of the installer build specifications defined in my project. 

I've tried some VIs from the AppBuilder or InstallerBuilder APIs (..\vi.lib\AppBuilder API and ..\vi.lib\InstallerBuilder) but nothing seems to let me change the UpgradeCode of an installer build specifications. 

Does anyone know if there is a way to do so?

Edited by Benjamin R
Link to comment

I don't know of a utility for doing this.  But the Upgrade Code can be found as a string property in the .lvproj file.  Just open it is a text editor and you can search for it.  I think it is called the "MSI_upgradeCode".

Link to comment

Thanks @hooovahh for your answer.

My concern is more about how to generate a new UpgradeCode as you can do it from the Installer property window. Is there any LabVIEW or Windows function that I can call to get a brand new oneÉ

Link to comment
1 hour ago, Darren said:

There's also the Create NI GUID.vi in LabVIEW 2020 and later.

Is there a good reason that this is password protected?  Other than it probably is a single call library node to some internal function?

Link to comment
21 minutes ago, hooovahh said:

Is there a good reason that this is password protected?

It calls a private internal method, yeah. NI policy is that VIs that call private properties/methods/events are password-protected.
image.png.840602889ecfe93c134103c6ea041313.png

  • Thanks 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Yaw Mensah
      I have installed Labview 2020 on Dedian Buster using the rpm to deb conversion method via alien. Due to Architecture mismatch i deleted the *i386.rpm files before conversion.
      My Problem is that after creating a project at "Build Specification"-> "rigth click" i am only able to select "Source Distribution". Application does not show up as an option. 
      I will be grateful for any suggestions.
      Thank you in advance.
    • By David_L
      Hey all,
      (Cross-post from ni.com forums)
      We have a LabVIEW application, which has a LabVIEW-based Installer.  This LabVIEW installer is called from within another Inno installer (since our main Inno installer pulls together multiple components, most of them not LabVIEW).  Whenever this Inno installer ends, it always asks the user to restart their PC, even if the LabVIEW installer was cancelled.
      I narrowed it down, and it's reproducible with only the LabVIEW installer, so it's definitely LabVIEW installer's fault.  According to Inno's help documentation, "if a program executed in the [Run] section queues files to be replaced on the next reboot (by calling MoveFileEx or by modifying wininit.ini), Setup will detect this and prompt the user to restart the computer at the end of installation."  However, as stated above, this dialog is triggered even if the LabVIEW installer was cancelled and wrote no files.
      Now, the above linked documentation refers to a flag I can put in my installer script to ignore this restart dialog, but it's a global flag, and I would like my other installers to still make use of this handy restart dialog if necessary. Unfortunately it seems LabVIEW installers trigger this even if not actually necessary.
      Has anyone seen this before? Any ideas how to make my LabVIEW installer NOT muck around with the MoveFileEx or wininit.ini stuff if/when it's not actually needed?  Attached is a LabVIEW project and Inno Installer script which easily reproduces the problem.  To reproduce:
      Extract the attached .zip Open test.iss in Inno Setup and click the "Run" button Alternately, just run the built installer under "\Output\test_inno_installer_9.99.0.0.exe" Click Next on 'Select Components' dialog Click Install on 'Ready to Install' dialog When LabVIEW installer pops up click Cancel, then yes (you're sure) See the Restart dialog Thanks!
      David_L
      InnoLabVIEWBug.zip
    • By DARTHWOD
      Hi Friends,
      I am facing issue in labview programming. My vi read csv file in a folder and plot it in waveform graph. Initially i have twenty csv file in that folder, while runnning my vi some more csv files will be added to that folder. The problem is only twenty csv file initially placed got read, later added csv files were not read by labview. 
      Condition: Once my vi starts running, the files will be automatically added to that folder. Because i am running an experiment which stores data in the form of csv file to that folder. How to keep on read the csv files continuosly while my experiments stores series of csv files.

    • By daoudi
      Hi,

      Can I put a vi labview application on a web server on html 5 for exemple?

      if we can do that, it can be done just in local network(with several machines TCP/IP) or can be connected with a web server ?

      Thank you 
       
    • By John2787
      Reposting this here in an effort to gain some traction because it's absolutely killing me. 
      I'm trying to build a standalone .exe with a VI that contains a Scilab script using the Scilab gateway. On the actual program I created I get an error message stating that the front panel cannot be loaded on the SubVI that contains the Scilab script node. If I delete the node the program runs fine. 
      I decided to create a very basic VI containing a Scilab script to troubleshoot, and I get the following error: "This VI is not executable, The full development version of Labview is required to fix the errors". I don't understand this at all, since I do have the full development version of labview. Also, the code runs fine as a native VI, and this error is occuring on my development machine, so all required files should already be in the correct locations. Additionally, I've added "ScriptScilab.dll" as an always included source file and it's in the correct folder for the runtime engine. In fact, I've tried it in multiple different locations (app data directory, app root directory, LV2017 root directory, etc...) and still nothing. 
      What am I missing here? .Zip of may sample application attached. 
      My Application.zip
×
×
  • Create New...

Important Information

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