File version info

I would like to find a way to get the file version info of an exe. I have tried the file info from openG but it does not get the version info. I looked on the MS website and found the .NET function called file version info that is supposed to be under system diagnostics but when I bring up the constuctor node it does not show up . Everything else that is supposed to be in there shows up. I want this info so that I can create a generic about dialog box for my exe. If anyone knows of an easier way to do this I would appreciate any answer.
PS I used the application builder to set the version Info..
Using LV 8.0
Joe.
"NOTHING IS EVER EASY"

Jarrod S. wrote:
Hi Rolf,
Thanks for your
help with the VarFileInfo\Translation resource. I realized this was a
hole in the programs functionality, and I knew a workaround, but I was
never sure how valid the workaround was. Defaulting to the English
language code does sound like a good idea. It definitely works for
LabVIEW.exe. I never bothered implementing this since this was designed
for LabVIEW-built exes, not LabVIEW itself. LabVIEW-built exes do
contain the VarFileInfo\Translation resource. I also built this in
LabVIEW 8, since that was the first version that allowed users to
specify executable versions and other info for their applications. But
it is nice as a general tool!
Hmm, thinking about
it there is possibly one more improvement. If the default english
language does not provide any string resources another possibility
might be to retrieve the current language codes from the user settings
and try with them too. But this sounds quite academical as I can't
imagine an installer manipulating the version resource of an executable
according to the currently set user language. I will have to
investigate a little more what the issue is with files not containing
any translation keys.
As to manipulating the version resource of LabVIEW executables I have
made some code too for this in the past for earlier LabVIEW versions
but found that manipulating the exe part of an executable in any way
after it has been built into an application renders the executable
unusable to run as there needs also to be some modifications at the end
of the file to point to the start of the embedded LLB in the
executable, so that was why I haven't made a tool of this yet. Glad to
see that LabVIEW 8 finally has support for adding a proper version
resource to the executable.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions

Similar Messages

  • The operation can't be completed because some items had to be skipped. For each item, choose File Get Info, make sure "Locked" is deselected, and then check t

    The following error comes up when I try to install the updated Firefox:
    "The operation can’t be completed because some items had to be skipped. For each item, choose File > Get Info, make sure “Locked” is deselected, and then check the Sharing & Permissions section. When you are sure the items are unlocked and not designated as Read Only or No Access, try again."
    When I follow the instructions in the error message, it shows that my user name has read and write access. There are a couple other items that are read only. I tried to change this to read and write, but the Sharing and Permissions options are greyed out and will not let me change them. What is the work around for this? I would really like to install the new firefox.
    Thanks.

    Hello,
    Certain Firefox problems can be solved by performing a ''Clean reinstall''. This means you remove Firefox program files and then reinstall Firefox. Please follow these steps:
    '''Note:''' You might want to print these steps or view them in another browser.
    #Download the latest Desktop version of Firefox from http://www.mozilla.org and save the setup file to your computer.
    #After the download finishes, close all Firefox windows (click Exit from the Firefox or File menu).
    #Delete the Firefox installation folder, which is located in one of these locations, by default('''This will NOT delete profile info such as bookmarks and history'''):
    #*'''Windows:'''
    #**C:\Program Files\Mozilla Firefox
    #**C:\Program Files (x86)\Mozilla Firefox
    #*'''Mac:''' Delete Firefox from the Applications folder.
    #*'''Linux:''' If you installed Firefox with the distro-based package manager, you should use the same way to uninstall it - see [[Installing Firefox on Linux]]. If you downloaded and installed the binary package from the [http://www.mozilla.org/firefox#desktop Firefox download page], simply remove the folder ''firefox'' in your home directory.
    #Now, go ahead and reinstall Firefox:
    ##Double-click the downloaded installation file and go through the steps of the installation wizard.
    ##Once the wizard is finished, choose to directly open Firefox after clicking the Finish button.
    Please report back to see if this helped you!
    Thank you.

  • How to download a file version from office 365 using csom

    I need to download an older file version from office 365 and get the data into a byte array. I have no trouble downloading the latest version with File.OpenBinaryStream() and I have no trouble loading the previous file versions with File.Versions. But now
    I need to actually download an older version of the file and it seems the only way is to use File.OpenBinaryDirect. So I am creating a client context using my oAuth access token and providing the correct path, but I am getting a (401) Unauthorized
    error. Looking with Fiddler I can see that the call to OpenBinaryDirect is somehow trying to post to my file URL and the server is responding with 401.
    context = TokenHelper.GetClientContextWithAccessToken(SPHostUrl, AccessToken);
    FileInformation info = File.OpenBinaryDirect(context, "/" + _fileVersion.Url);  //throws 401
    //leading slash required otherwise ArgumentOutOfRangeException
    I have to be able to access the older file versions with my c# code -- I don't have a viable app without that ability -- any help urgently needed and greatly appreciated!

    Thank you SO much (Can't wait for the next release)!
    For anyone else who lands here, here's the code I ended up using:
    // VersionAccessUser and VersionAccessPassword are stored in web.config
    // web.Url is loaded via the clientContext
    // myVersion is the FileVersion I got from the file's Versions.GetById() method
    // probably a lot of ways to get hostUrl, it just needs to be https://yourdomain.sharepoint.com/
    // - I'm running my app from a subweb
    // I had trouble following the links to get the full MsOnlineClaimsHelper code
    // (the one on msdn.com was missing RequestBodyWriter, WSTrustFeb2005ContractClient,
    // and IWSTrustFeb2005Contract
    // so I've included the code I used here.
    string myVersionFullUrl = string.Format("{0}/{1}", web.Url, myVersion.Url);
    string userName = WebConfigurationManager.AppSettings.Get("VersionAccessUser");
    string strPassword = WebConfigurationManager.AppSettings.Get("VersionAccessPassword");
    string hostUrl = Regex.Replace(web.Url, "([^/]+//[^/]+/).*", "$1");
    MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(hostUrl, userName, strPassword);
    var client = new WebClient();
    client.Headers["Accept"] = "/";
    client.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
    client.Headers.Add(HttpRequestHeader.Cookie, claimsHelper.CookieContainer.GetCookieHeader(new Uri(hostUrl)));
    var document = client.DownloadString(myVersionFullUrl);
    // These classes are needed to download old versions of files (see: http://social.msdn.microsoft.com/Forums/en-US/7746d857-d351-49cc-b2f0-496663239e02/how-to-download-a-file-version-from-office-365-using-csom?forum=sharepointdevelopment)
    // I cobbled this file from http://social.technet.microsoft.com/Forums/msonline/en-US/4e304493-7ddd-4721-8f46-cb7875078f8b/problem-logging-in-to-office-365-sharepoint-online-from-webole-hosted-in-the-cloud?forum=onlineservicessharepoint
    // and http://fredericloud.com/2011/01/11/connecting-to-sharepoint-with-claims-authentication/
    using Microsoft.IdentityModel.Protocols.WSTrust;
    using Microsoft.SharePoint.Client;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Net.Security;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.Text;
    using System.Web;
    using System.Xml;
    using System.Xml.Linq;
    namespace DPSiDoxAppWeb.Helpers
    /// <summary>
    /// Create a new contract to use for issue claims for the SharePoint requests
    /// </summary>
    [ServiceContract]
    public interface IWSTrustFeb2005Contract
    [OperationContract(ProtectionLevel = ProtectionLevel.EncryptAndSign,
    Action = "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue",
    ReplyAction = "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue",
    AsyncPattern = true)]
    IAsyncResult BeginIssue(Message request, AsyncCallback callback, object state);
    Message EndIssue(IAsyncResult asyncResult);
    /// <summary>
    /// Implement the client contract for the new type
    /// </summary>
    public class WSTrustFeb2005ContractClient : ClientBase<IWSTrustFeb2005Contract>, IWSTrustFeb2005Contract
    public WSTrustFeb2005ContractClient(Binding binding, EndpointAddress remoteAddress)
    : base(binding, remoteAddress)
    public IAsyncResult BeginIssue(Message request, AsyncCallback callback, object state)
    return Channel.BeginIssue(request, callback, state);
    public Message EndIssue(IAsyncResult asyncResult)
    return Channel.EndIssue(asyncResult);
    /// <summary>
    /// Create a class that will serialize the token into the request
    /// </summary>
    class RequestBodyWriter : BodyWriter
    readonly WSTrustRequestSerializer _serializer;
    readonly RequestSecurityToken _rst;
    /// <summary>
    /// Constructs the Body Writer.
    /// </summary>
    /// <param name="serializer">Serializer to use for serializing the rst.</param>
    /// <param name="rst">The RequestSecurityToken object to be serialized to the outgoing Message.</param>
    public RequestBodyWriter(WSTrustRequestSerializer serializer, RequestSecurityToken rst)
    : base(false)
    if (serializer == null)
    throw new ArgumentNullException("serializer");
    _serializer = serializer;
    _rst = rst;
    /// <summary>
    /// Override of the base class method. Serializes the rst to the outgoing stream.
    /// </summary>
    /// <param name="writer">Writer to which the rst should be written.</param>
    protected override void OnWriteBodyContents(XmlDictionaryWriter writer)
    _serializer.WriteXml(_rst, writer, new WSTrustSerializationContext());
    public class MsOnlineClaimsHelper
    #region Properties
    readonly string _username;
    readonly string _password;
    readonly bool _useRtfa;
    readonly Uri _host;
    CookieContainer _cachedCookieContainer = null;
    DateTime _expires = DateTime.MinValue;
    #endregion
    #region Constructors
    public MsOnlineClaimsHelper(string host, string username, string password)
    : this(new Uri(host), username, password)
    public MsOnlineClaimsHelper(Uri host, string username, string password)
    _host = host;
    _username = username;
    _password = password;
    _useRtfa = true;
    public MsOnlineClaimsHelper(Uri host, string username, string password, bool useRtfa)
    _host = host;
    _username = username;
    _password = password;
    _useRtfa = useRtfa;
    #endregion
    #region Constants
    public const string office365STS = "https://login.microsoftonline.com/extSTS.srf";
    public const string office365Login = "https://login.microsoftonline.com/login.srf";
    public const string office365Metadata = "https://nexus.microsoftonline-p.com/federationmetadata/2007-06/federationmetadata.xml";
    public const string wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
    public const string wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
    private const string userAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
    #endregion
    class MsoCookies
    public string FedAuth { get; set; }
    public string rtFa { get; set; }
    public DateTime Expires { get; set; }
    public Uri Host { get; set; }
    // Method used to add cookies to CSOM
    public void clientContext_ExecutingWebRequest(object sender, WebRequestEventArgs e)
    e.WebRequestExecutor.WebRequest.CookieContainer = getCookieContainer();
    //e.WebRequestExecutor.WebRequest.UserAgent = userAgent;
    // Creates or loads cached cookie container
    CookieContainer getCookieContainer()
    if (_cachedCookieContainer == null || DateTime.Now > _expires)
    // Get the SAML tokens from SPO STS (via MSO STS) using fed auth passive approach
    MsoCookies cookies = getSamlToken();
    if (cookies != null && !string.IsNullOrEmpty(cookies.FedAuth))
    // Create cookie collection with the SAML token
    _expires = cookies.Expires;
    CookieContainer cc = new CookieContainer();
    // Set the FedAuth cookie
    Cookie samlAuth = new Cookie("FedAuth", cookies.FedAuth)
    Expires = cookies.Expires,
    Path = "/",
    Secure = cookies.Host.Scheme == "https",
    HttpOnly = true,
    Domain = cookies.Host.Host
    cc.Add(samlAuth);
    if (_useRtfa)
    // Set the rtFA (sign-out) cookie, added march 2011
    Cookie rtFa = new Cookie("rtFA", cookies.rtFa)
    Expires = cookies.Expires,
    Path = "/",
    Secure = cookies.Host.Scheme == "https",
    HttpOnly = true,
    Domain = cookies.Host.Host
    cc.Add(rtFa);
    _cachedCookieContainer = cc;
    return cc;
    return null;
    return _cachedCookieContainer;
    public CookieContainer CookieContainer
    get
    if (_cachedCookieContainer == null || DateTime.Now > _expires)
    return getCookieContainer();
    return _cachedCookieContainer;
    private MsoCookies getSamlToken()
    MsoCookies ret = new MsoCookies();
    try
    var sharepointSite = new
    Wctx = office365Login,
    Wreply = _host.GetLeftPart(UriPartial.Authority) + "/_forms/default.aspx?wa=wsignin1.0"
    //get token from STS
    string stsResponse = getResponse(office365STS, sharepointSite.Wreply);
    // parse the token response
    XDocument doc = XDocument.Parse(stsResponse);
    // get the security token
    var crypt = from result in doc.Descendants()
    where result.Name == XName.Get("BinarySecurityToken", wsse)
    select result;
    // get the token expiration
    var expires = from result in doc.Descendants()
    where result.Name == XName.Get("Expires", wsu)
    select result;
    ret.Expires = Convert.ToDateTime(expires.First().Value);
    HttpWebRequest request = createRequest(sharepointSite.Wreply);
    byte[] data = Encoding.UTF8.GetBytes(crypt.FirstOrDefault().Value);
    using (Stream stream = request.GetRequestStream())
    stream.Write(data, 0, data.Length);
    stream.Close();
    using (HttpWebResponse webResponse = request.GetResponse() as HttpWebResponse)
    // Handle redirect, added may 2011 for P-subscriptions
    if (webResponse.StatusCode == HttpStatusCode.MovedPermanently)
    HttpWebRequest request2 = createRequest(webResponse.Headers["Location"]);
    using (Stream stream2 = request2.GetRequestStream())
    stream2.Write(data, 0, data.Length);
    stream2.Close();
    using (HttpWebResponse webResponse2 = request2.GetResponse() as HttpWebResponse)
    ret.FedAuth = webResponse2.Cookies["FedAuth"].Value;
    ret.rtFa = webResponse2.Cookies["rtFa"].Value;
    ret.Host = request2.RequestUri;
    else
    ret.FedAuth = webResponse.Cookies["FedAuth"].Value;
    ret.rtFa = webResponse.Cookies["rtFa"].Value;
    ret.Host = request.RequestUri;
    catch (Exception ex)
    return null;
    return ret;
    static HttpWebRequest createRequest(string url)
    HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.CookieContainer = new CookieContainer();
    request.AllowAutoRedirect = false; // Do NOT automatically redirect
    request.UserAgent = userAgent;
    return request;
    private string getResponse(string stsUrl, string realm)
    RequestSecurityToken rst = new RequestSecurityToken
    RequestType = WSTrustFeb2005Constants.RequestTypes.Issue,
    AppliesTo = new EndpointAddress(realm),
    KeyType = WSTrustFeb2005Constants.KeyTypes.Bearer,
    TokenType = Microsoft.IdentityModel.Tokens.SecurityTokenTypes.Saml11TokenProfile11
    WSTrustFeb2005RequestSerializer trustSerializer = new WSTrustFeb2005RequestSerializer();
    WSHttpBinding binding = new WSHttpBinding();
    binding.Security.Mode = SecurityMode.TransportWithMessageCredential;
    binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
    binding.Security.Message.EstablishSecurityContext = false;
    binding.Security.Message.NegotiateServiceCredential = false;
    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
    EndpointAddress address = new EndpointAddress(stsUrl);
    using (WSTrustFeb2005ContractClient trustClient = new WSTrustFeb2005ContractClient(binding, address))
    trustClient.ClientCredentials.UserName.UserName = _username;
    trustClient.ClientCredentials.UserName.Password = _password;
    Message response = trustClient.EndIssue(
    trustClient.BeginIssue(
    Message.CreateMessage(
    MessageVersion.Default,
    WSTrustFeb2005Constants.Actions.Issue,
    new RequestBodyWriter(trustSerializer, rst)
    null,
    null));
    trustClient.Close();
    using (XmlDictionaryReader reader = response.GetReaderAtBodyContents())
    return reader.ReadOuterXml();

  • How to view Illustrator File Version in Windows XP Explorer windows

    On a Mac (Leopard or Snow Leopard) I can add a Version filter to the Finder Windows List Views so I can see what versions my Illustrator Files are saved at and I can see the version and the application that created it if I Get Info on the file.
    In windows XP however I cannot see any Version info even if I right click on the filter bar and add the Version Column to filter by. I also dont see any version of the files if I go under a files attributes. The only thing I can see is File Type which will only show me whatever the version of Illustrator on the machine that will open it.
    The problem is that I dont want older machines that dont have CS4 to open up CS4 files but there is no way for me to tell which files are CS4 and which are saved down to CS2.
    Thanks in Advance,
    J

    Things might be different in the most recent versions of AI, but you can always look at your .ai file in a text editor, such as Wordpad or Notepad. (I keep desktop shortcuts to both onto which I can just drag and drop files for quick looks.)
    You'll have to scroll down a bit if you save with the PDF option, but you should come across some text that tells you what you want to know. It'll typically start off with the text string %!PS-Adobe-XXX.
    In this particular example, the application used was AI 12.0.1 (CS2), and the file was retro-saved to version 8. (Yes, the variable name "Creator" is somewhat misleading.)
    If you have the DTs or are otherwise prone to hitting keys unintentionally, open a copy of the file in your text editor to make sure you don't accidentally modify the original file.
    Where did the Info that you had in the .png file come from?
    I think that's a Command+I from within a Mac OS Finder listing, Larry.

  • [Developer] How to RELIABLY get Acrobat Reader Version info from registry

    (Using Wise Installation system 9.02)
    First, we get the path from here:
    SOFTWARE\Classes\SOFTWARE\Adobe\Acrobat\Exe
    if it is not found, we get it from here:
    SOFTWARE\Classes\Applications\AcroRD32.exe\shell\Read\command
    and if it is still not found, we get it from here:
    SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe
    Then we check the version info for the file AcroRd32.exe that is
    located in one of those directories and compare it to the version
    we are installing; if it is less, we install the version included
    in our setup package.
    Now, is this the most RELIABLE way to do this?
    Should we just search for the file and get it's version info?
    What if you have > 1 version of Reader installed?
    What if you have Full Acrobat installed?
    Is there also a way for Reader installation to NOT change the
    PDF file association from Full Acrobat?

    If you look at our current process, you'll see that we are checking
    for multiple versions. However, there have been times when our version
    installed over a later version and we cannot understand why this
    happened that is why I'm addressing this here to see if anyone had
    any "fool-proof" way to do it.
    I know I can also check the PDF association but it may be set to Acrobat
    and we do not want to modify that. We just want to check the latest
    version of Reader they have installed against the one we have in our
    package.

  • Wrong CAP file version error message

    I'm trying to write a loader application that will send a CAP file into JavaCard, and then install it automatically.
    I have developed my JavaCard Applet by using Eclipse3.1.0 and JCOP30.
    After running my JavaCard Applet by Eclipse, I got its CAP file in folder [b\bin\FVSCardPkg\javacard\[/b]
    But when I run my loader application with this CAP file, the error message will display:
    EX: msg Wrong CAP file version, class class com.ibm.jc.JCException
    Wrong CAP file version
         at com.ibm.jc.CapFile.parseHeader(Unknown Source)
         at com.ibm.jc.CapFile.readCapFile(Unknown Source)
         at com.ibm.jc.CapFile.<init>(Unknown Source)
         at LoaderPkg.loader.load(loader.java:35)
         at LoaderPkg.loader.main(loader.java:20)
    This is my loader application source code:
    import java.io.*;
    import com.ibm.jc.*;
    import com.ibm.jc.terminal.*;
    *  Sample /**
    *  Sample loader. Demonstrates how to use the offcard API to download
    *  a cap-file on a JCOP41V22 Engineering sample card and listing of applets loaded will
    * follow.
    public class loader{
         private final static String termName = "pcsc:4"; // Real card
    //     private final static String termName = "Remote"; // Simulator
         protected static final byte[] JCOP_CARD_MANAGER_AID = { (byte) 0xa0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00};
         protected static final byte defaultInstallParam[] = { -55, 0 };
         static String[] capFileName={"D:/MyCardPkg.cap"};
         public static void main(String[] args){
              try{
                   loader l = new loader();
                   l.load();
              }catch(Exception e){
                   System.err.println("EX: msg " + e.getMessage() + ", class " + e.getClass());
                   e.printStackTrace(System.err);
              System.exit(0);
              //Likewise for simulation, be patient the port takes time to close.
              //Use command line "netstate" to check the disapperance of the port before
              // activating JCShell command to read the simulated card.
         private loader(){}
         private void load() throws Exception{
              CapFile capFile = new CapFile(capFileName[0], null);
              System.out.println("Package name: " + capFile.pkg);
              byte[][] applets = capFile.aids;
              if ((applets == null) || (applets.length == 0)){
                   throw new RuntimeException("no applets in cap file");
              // Get connection to terminal, take note that jcop.exe is required to be activated
              // in simulation mode.
              System.out.println("Open terminal ...");
              //Make sure that the simulator jcop.exe is activated before unmarking this satement
              //Remember to delete the downloaded applet before running otherwise error is
              //expected if the simulator finds the existence of the applet with the
              //same pakage name ID and AID
              //Issue /close command at "cm" prompt if the card is in use,, ie it should
              //have "-" prompt. Be patient that the port takes time to close. Use command line
              //"netstate" to check the disapperance of the port before running.
              // pcsc:4=Card Terminal  Or  Remote=LocalHost Terminal
              JCTerminal term = JCTerminal.getInstance(termName, null);
              //For real JCOP41V22 card, please unmark this statement and delete the downloaded
              //applet before running. Error expected if the card finds the existence of the applet
              //with the same pakage name ID and AID
              //Issue /close command at "cm" prompt if the card is in use,, ie it should
              //have "-" prompt.
              term.open();
              // Add in this statement for real card which requires some response time
              term.waitForCard(5000);
              // Create a logging terminal spitting out the APDUs on standard out
              TraceJCTerminal _term = new TraceJCTerminal();
              _term.setLog(new PrintWriter(System.out));
              _term.init(term);
              term = _term;
              // Get JavaCard representative, passing NULL resets card and returns ATR
              System.out.println("Get card ...");
              JCard card = new JCard(term, null, 2000);
              // Get the off-card representative for the card manager and use it to
              // select the on-card CardManager
              System.out.println("Select card manager ...");
              CardManager cardManager = new CardManager(card, CardManager.daid);
              cardManager.select();
              // For downloading something, we have to be authenticated to card manager.
              // For this, the keys must be set. The keys to use should of course
              // be configurable as well.
              byte[] dfltKey = c2b("404142434445464748494a4b4c4d4e4f");
              cardManager.setKey(new OPKey(255, 1, OPKey.DES_ECB, dfltKey));
              cardManager.setKey(new OPKey(255, 2, OPKey.DES_ECB, dfltKey));
              cardManager.setKey(new OPKey(255, 3, OPKey.DES_ECB, dfltKey));
              cardManager.setKey(new OPKey(1, 1, OPKey.DES_ECB, c2b("707172737475767778797a7b7c7d7e7f")));
              cardManager.setKey(new OPKey(1, 2, OPKey.DES_ECB, c2b("606162636465666768696a6b6c6d6e6f")));
              cardManager.setKey(new OPKey(1, 3, OPKey.DES_ECB, c2b("505152535455565758595a5b5c5d5e5f")));
              System.out.println("init Update ...");
              cardManager.initializeUpdate(255,0);
              System.out.println("Authenticate to card manager ...");
              cardManager.externalAuthenticate(OPApplet.APDU_CLR);
              // And load the cap-file, do not forget to call installForLoad
              System.out.println("Loading cap-file ...");
              byte[] cardManagerAid = cardManager.getAID();
              cardManager.installForLoad(capFile.pkgId,0, capFile.pkgId.length, cardManagerAid, 0, cardManagerAid.length, null, 0, null, 0, 0, null, 0);
              cardManager.load(capFile, null, CardManager.LOAD_ALL, null, cardManager.getMaxBlockLen());
              byte[] capaid = capFile.aids[0];
              System.out.println("Finished loading !");
              // Install applet, we try to install the first applet given in the
              // cap file, and try to instantiate it under the same AID as given for its
              // representation in the cap file. No installation data is passed.
              System.out.println("Installing applet ...");
              cardManager.installForInstallAndMakeSelectable(capFile.pkgId, 0, capFile.pkgId.length, capaid,0, capaid.length, capaid, 0, capaid.length, 0, defaultInstallParam, 0, defaultInstallParam.length, null, 0);
              System.out.println("Install succeeded!");
              // synchronize state with on-card card manager
              System.out.println("Update!");
              cardManager.update();
              // Print information regarding card manager, applets and packages on-card
              JCInfo info = JCInfo.INFO;
              System.out.println("\nCardManager AID : " + JCInfo.dataToString(cardManager.getAID()));
              System.out.println("CardManager state : " + info.toString("card.status", (byte) cardManager.getState()) + "\n");
              //Echountered error 6A 86 with this statement:Object[] app = cardManager.getApplets(CardManager.GET_APPLETS,
              //CardManager.CVM_FORMAT_HEX, true);
              //Solved the bug by playing the integers in arg0 and arg1.
              Object[] app = cardManager.getApplets(1, true);
              if (app == null) {
                   System.out.println("No applets installed on-card");
              } else {
                   System.out.println("Applets:");
                   for (int i = 0; i < app.length; i++) {
                        System.out.println(info.toString("applet.status", (byte) ((OPApplet) app).getState()) + " " + JCInfo.dataToString(((OPApplet) app[i]).getAID()));
              // List packages on card
              // Encountered error with this statement:Object[] lf = cardManager.getLoadFiles(CardManager.CVM_FORMAT_HEX, true);
              // Solved the bug by setting arg0 = 0,
              Object[] lf = cardManager.getLoadFiles(true);
              if (lf == null) {
                   System.out.println("No packages installed on-card");
              } else {
                   System.out.println("Packages:");
                   for (int i = 0; i < lf.length; i++) {
                        System.out.println(info.toString("loadfile.status", (byte)((LoadFile) lf[i]).getState()) + " " + JCInfo.dataToString(((LoadFile) lf[i]).getAID()));
              term.close();
         static String numbers = "0123456789abcdef";
         private byte[] c2b(String s) {
              if (s == null) return null;
              if (s.length() % 2 != 0) throw new RuntimeException("invalid length");
              byte[] result = new byte[s.length() / 2];
              for (int i = 0; i < s.length(); i += 2) {
                   int i1 = numbers.indexOf(s.charAt(i));
                   if (i1 == -1) throw new RuntimeException("invalid number");
                   int i2 = numbers.indexOf(s.charAt(i + 1));
                   if (i2 == -1) throw new RuntimeException("invalid number");
                   result[i / 2] = (byte) ((i1 << 4) | i2);
              return result;
    How to solve this problem?
    Thank you in advance.

    I'm not understanding if your cap file is in "b\bin\FVSCardPkg\javacard\", then why are you loading "D:/MyCardPkg.cap"?
    The issue isn't with your off card application, but the cap file version. Look at the cap file components in JCVM specification. I believe it's the Header component. The major, minor should match your card but not greater. In other words, your can't load a 2.2 on a 2.1 card, but a 2.1 can load on a 2.2

  • Target setting / version info

    Hello,
    when releasing a new version of a software I usually update the 'version info' dialog in the target settings. I just realized that these settings are different for debug and release mode... why is it so? One is going to distribute the release version, not the debug version, so why are there two separate entries one has to maintain? Typically, I am running the debug mode, and only at the very end I switch to relase mode. Hence typically I adapt the settings in the debug mode (year, major/minor release number) - so far I had assumed that this is the identical version info as for the release mode, but no...
    Wolfgang
    Solved!
    Go to Solution.

    1) The history of this is as follows:
    a) From the beginning of CVI, there was always a version number which applied to all binaries that you created. There were no configurations then. Also, there was no such thing as auto-increment. Users would have to explicitly set the version number to whatever they wanted.
    b) Some time later, the notion of separate release and debug configurations was introduced. The version info, along with almost all other options, applied to both configurations. There was still no auto-increment.
    c) Then, auto-increment was added. When auto-increment is enabled, the simple act of building your project would change the version number. But because the version number was shared accross configurations, and it didn't make sense for debug builds to "interfere" with the release build number, auto-increment was only enforced in release builds -- hence that sentence in the help.
    d) The 64-bit configurations then came along. This simply increased the number of configurations from 2 to 4 but had no meaningful impact on this issue.
    e) Custom configurations were introduced in CVI 2010. This required most global options to become configuration-specific. We added a note to the readme alerting users to be careful when editing these options, since they were no longer changing all configurations, but just the current configuration. This change also applied to the version field, which could now be different between debug and release builds. At this time, we could have allowed auto-increment to work for debug builds too, since it would no longer interfere with the release version number, but for the sake of not changing existing behavior unless it was absolutely necessary, we decided to continue not supporting auto-increment for debug builds. Users can still change their debug version number to whatever they chose, but it continues not incrementing with each build.
    2) This is what I was talking about earlier when I was explaining the purpose of dimming. The values are different, but CVI can only show one, hence it picks one, and dims the value text -- as a visual indicator that it's not the same value for all configurations. Just like in the example of the numeric controls that I gave earlier. This only affects what you see when you first display the dialog. You can still change it, and the change will apply to all configurations.
    3) This is probably happening because the name of your program, under the 64-bit configuration, is still MyEarlierProgram. In the Target Settings dialog, cycle through the configuration ring while looking at the application file name. Is it really the same for all configurations? If it's not, then you'd expect %basename (and %filename) to appear differently when you preview the Version Info dialog. %basename is not version-dependent, as you said. It's configuration-dependent.
    Luis

  • Rpt file version control

    Hi,
    I am trying to include a version number(revision number) in a rpt file.
    The pourpose of doing this is to include a version number in a rpt file. Every time one make some changes( other then refreshing the report with new parameters) then version of the report should change.
    I have tried --modification date, time with no luck. Those two functions only prints the current date time.
    Does anybody knows any sort of formula or a way to find if a field(object) is being changed in a report.
    Any help/suggestion will be greatly appriciated.
    Thanks,
    parik

    Hi Parik,
    You dont have to create any formulas as such
    Version number is available at following location:-
    From standard toolbar click File --> Summary Info -->  Statistics
    This has one filed" Revision Number" which would count the number of times changes have been made to report
    Note : Make sure when you are checking the summary info dont click OK ..click cancel because it is also considerd as a change and would increase the counter.
    It will not increase the counter if report is refreshed with new parameter values
    I hope this helps!
    Regards,
    Shantanu

  • Illustrator file version

    Hi,
    I am on Illy CS5, but now I am working on a project where I need to deliver files that are compatible with CS3. But things are getting a bit mixed up! Is there an easy way to determine which compability level a file is saved for? I examine the files in Adobe Bridge, but it just says that the creator is Illy CS5...

    If you are working with a Mac (y0u should always state what platform and OS) control or right click on the files icon to get tothe contextual menu and choose Get Info there it will tell you version it was saved in as well as what version created it.
    On the PC it should be in the Properties Panel.
    You could also do a File Info template for the various versions you use to save back to then
    select the template  after each file version you save this can be done in the bridge then where it say headline or title have the version there and then give it a tile or head line. Te you will see it in the Bridge's metadata panel.

  • How to get rid of webutil version info?

    I created a form to test reading and writing files on the client using webutil. (forms 11.1.1.4) which is something I need for my
    forms6i -- forms11 conversion.
    But it has an issue which is when the form starts it prints out a screen with webutil version info on it. (Webutil Information) .
    I see this stuff is on the webutil_canvas. That's interesting but I don't need that in the form. That would confuse the users.
    Unfortunately if I open this canvas I get:
    "Frm-13008 Cannot find javabean with name oracle.forms.webutil.ole.Olefunctions"
    oh oh. That doesn't sound good...
    but anyway how do I best get rid of it showing this screen?
    I thought I was following instructions correctly for subclassing the object library in my test form. (famous last words.)

    Oh never mind I found it.
    It does not work to change the webutil_canvas to NOT raise_on_entry. But it does work to put a block before the webutil block.
    It seems that if webutil is the first block it has the ability to raise that canvas no matter what but I don't know how it does it.

  • To change info in library file then info, only the most recent cd's allow me to change info, all others 14,000, do not, any ideas???

    Understand to change cd info in library  File then info, as of recent only the most recent music added to my library enabled to make changes, all others (14,000) do not highlight change categories, that is gray not black. Any suggestions.

    I suspect a permissions problem. This can happen when a library is moved between systems or the system is upgraded to a new version of Windows.
    Right-click on your main iTunes folder (or ithe Tunes Media folder if that is elsewhere) and click Properties, then go to the Security tab and click Advanced. If necessary grant your account and SYSTEM full control of this folder, subfolders and files, then tick the option to replace permissions on child objects which will repair permissions throughout the library. This is the XP dialog but Windows 7 shouldn't be too different.
    If it won't let you change the permissions use the Owner tab to take ownneship from an account with administror privileges.
    tt2

  • Failed to run the action: Install Software Updates. CI Version Info timed out?

    Hi,
    I have a task sequence that runs on servers to automatically install the advertised updates in software center. I have one server that is not installing these updates and from the smsts log I see an error about "CI Version times out" Does anyone
    know what this means? TIA
    <![LOG[One or more updates failed to install, hr=0x87d00314]LOG]!><time="06:37:50.387-120" date="04-25-2015" component="InstallSWUpdate" context="" type="3" thread="31312" file="main.cpp:202">
     <![LOG[Process completed with exit code 2278556436]LOG]!><time="06:37:50.387-120" date="04-25-2015" component="TSManager" context="" type="1" thread="26924" file="commandline.cpp:1123">
     <![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="06:37:50.387-120" date="04-25-2015" component="TSManager" context="" type="1"
    thread="26924" file="instruction.cxx:804">
     <![LOG[Failed to run the action: Install Software Updates.
     CI Version Info timed out. (Error: 87D00314; Source: CCM)]LOG]!><time="06:37:50.434-120" date="04-25-2015" component="TSManager" context="" type="3" thread="26924" file="instruction.cxx:895">
     <![LOG[Set authenticator in transport]LOG]!><time="06:37:50.434-120" date="04-25-2015" component="TSManager" context="" type="0" thread="26924" file="libsmsmessaging.cpp:7734">
     <![LOG[Set a global environment variable _SMSTSLastActionRetCode=-2016410860]LOG]!><time="06:37:50.636-120" date="04-25-2015" component="TSManager" context="" type="0" thread="26924"
    file="executionenv.cxx:668">
     <![LOG[Set a global environment variable _SMSTSLastActionSucceeded=false]LOG]!><time="06:37:50.636-120" date="04-25-2015" component="TSManager" context="" type="0" thread="26924" file="executionenv.cxx:668">
     <![LOG[Clear local default environment]LOG]!><time="06:37:50.636-120" date="04-25-2015" component="TSManager" context="" type="0" thread="26924" file="executionenv.cxx:807">
     <![LOG[The execution engine ignored the failure of the action (Install Software Updates) and continues execution]LOG]!><time="06:37:50.652-120" date="04-25-2015" component="TSManager" context="" type="2"
    thread="26924" file="instruction.cxx:962">
     <![LOG[Set authenticator in transport]LOG]!><time="06:37:50.652-120" date="04-25-2015" component="TSManager" context="" type="0" thread="26924" file="libsmsmessaging.cpp:7734">

    Please have a look at this similar post:
    https://social.technet.microsoft.com/Forums/en-US/7ebe1966-1417-4e5e-ba29-1aac6b5b0de1/sccm-2012-deployment-of-updates-failes-with-ci-version-info-timed-out?forum=configmanagersecurity
    My Blog: http://www.petervanderwoude.nl/
    Follow me on twitter: pvanderwoude

  • Dynamically load the Version info from maven

    Hello,
    I am working on a project which is managed by maven.
    I want to load the version info marked in project.xml(conf file for maven) from my swing app.
    One way is to generate a class holding a static attribute indicating Version using maven.
    Anyone has some other suggestions?
    Thanks in advance

    Hello,
    I am working on a project which is managed by maven.
    I want to load the version info marked in project.xml(conf file for maven) from my swing app.
    One way is to generate a class holding a static attribute indicating Version using maven.
    Anyone has some other suggestions?
    Thanks in advance

  • All deployments reporting 'CI Version Info timed out'

    Hi guys,
    I've had a recent development where all deployment monitoring is reporting 0% success all of a sudden.
    Everything was working fine up until a few weeks ago, then I came in one morning and noticed all of my deployments were now reporting varying percentage of errors. Over time the success percent went all the way down to 0% for almost all deployments.
    However, the actual deployments themselves are successful. As in the software is installed and logs report success.
    Using the 'Application Infrastructure Errors' report, they are all now reporting 'CI Version Info Timed out'.
    I've  followed so many threads on here suggesting redeployment, updating content, updating memberships of collections etc. I've had no luck at all.
    If I look on an example client I see the DCMReporting log has a few errors of 'Failed to resolve version for scope xxxxxxxxx' and the CIDownloader log reports 'Failed to delete Instance Policy xxxxxx'
    I haven't made any infrastructure changes to the actual SCCM build in quite a while, though I did restart the server recently.
    Any help is greatly appreciated!

    Just wanted to leave an update for any future Google'rs.
    I may have resolved the issue, I'm just now waiting but after an hour the success rates are climbing back up across the board. After looking through all of the CIxxxxxx.log files and identifying the applications reporting the xxxx - version not found, I
    completely removed those apps and re-added them.
    This seemed to work so far.
    Even though I had previously done this and failed, there was actually multiple apps with this issue. So I had previously done this for 1-2 apps, and the issue still reoccured, which made me incorrectly assume that this wasn't related to the problem. Following
    it through I readded another 2 applications and started to see the log files clear and the success rates rise.
    Still no call as to what caused it?
    For those experiencing this, check your CIAgent.log for the following (taken from the linked post)
    CIAgent.log
    (The prod version of this app is "12", below you can see the TS was still using version "10"
    CIAgentJob({BB81C59E-0D68-4F80-8C26-F3672FDA6993}):
    CAgentJob::VersionInfoTimedOut for ModelName
    ScopeId_FBAD85CC-8425-4A82-9A2A-A69D6941A909/RequiredApplication_826f927c-b7b4-446b-9767-9e03529677ff, version
    10 not available.
    CCIInfo::SetError - Setting CI level error to (0x87d00314).
    <- this repeated many times
    VersionInfo ModelName=ScopeId_FBAD85CC-8425-4A82-9A2A-A69D6941A909/RequiredApplication_826f927c-b7b4-446b-9767-9e03529677ff,
    Version=10, IsVersionSpecific=TRUE timed out
    I then used the following powershell command to generate a list of Display names and UID's:
    Get-CMDeployment | select SoftwareName, ModelName |Out-GridView
    and just manually found the matching UID.
    I then just manually removed all deployments and then the deployment type. Simply readded the deployment type and redeployed.
    Hours later and seems to be on the mend. Hopefully by tomorrow everything will be back to normal.
    Note: We did have a UPS failure a few weeks ago that took out power to the ESX cluster. I can't confirm for sure that this was related but it seems to have happened around the same time...

  • How can I programmatically retrieve the CVI Target Version Settings (e.g. File Version, Copyright, etc) in my CVI application?

    Is there any way that I can programmatically retrieve the CVI Target Version Settings (e.g. File Version, Copyright, etc) in my CVI application?
    I am using LabWindows/CVI version 7.0.
    The settings that I'd like to retrieve within my application are those that are set under Build | Target Settings... | Version Info...
    e.g.
          File Version
          Product Version
          Company Name
          Legal Copyright
    Thanks,
    Darren
    Message Edited by Darren Draper on 01-16-2006 02:03 AM

    Well, "File access permission denied" claims for an authorization problem . I suggest you double check file attributes in the project directory: it could be that you have downloaded this example from a CD and the read-only attribute has not been cleared.
    The library does not reside in the example folder: as you can see by selecting View >> Show full pathnames in the project window, it should be in ....CVI\sdk\lib folder.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

Maybe you are looking for