We currently have an old Installshield project file (ism) handed to us by our client, created in an unknown older version of Installshield Pro. It needs updating for a new release, but all we have available is Installshield Express 2011. (The install definitely does not actually use any feature unavailable in Express; it barely needs any features at all.)
We need, however, to retrieve a list of what it does do so we can duplicate it.
Is there any way to import, convert or examine the file? (Currently Express refuses to open it at all, because it was created in full Installshield.)
If you do not use specific Professional features you may open xml files with InstallShield LE after following modifications inside
InstallShield table node:
Insert <row><td>DefaultProductConfiguration</td><td>Express</td></row> after Current Media.
Insert <row><td>Limited</td><td>1</td></row> after ISUSSignature
Change "Type" from MSI to MSIE. i.e.:
<row><td>Type</td><td>MSIE</td></row>
This is excerpt from my config file which did the trick:
<table name="InstallShield">
<col key="yes" def="s72">Property</col>
<col def="S0">Value</col>
<row><td>ActiveLanguage</td><td>1033</td></row>
<row><td>Comments</td><td/></row>
<row><td>CurrentMedia</td><td dt:dt="bin.base64" md5="332cf0a04e9833f150480c96800db728">
UgBlAGwAZQBhAHMAZQAgADEAAQBXAGUAYgAgAEMAbwBuAGYAaQBnAHUAcgBhAHQAaQBvAG4A
</td></row>
<row><td>DefaultProductConfiguration</td><td>Express</td></row>
<row><td>EnableSwidtag</td><td>1</td></row>
<row><td>ISCompilerOption_CompileBeforeBuild</td><td>1</td></row>
<row><td>ISCompilerOption_Debug</td><td>0</td></row>
<row><td>ISCompilerOption_IncludePath</td><td/></row>
<row><td>ISCompilerOption_LibraryPath</td><td/></row>
<row><td>ISCompilerOption_MaxErrors</td><td>50</td></row>
<row><td>ISCompilerOption_MaxWarnings</td><td>50</td></row>
<row><td>ISCompilerOption_OutputPath</td><td><ISProjectDataFolder>\Script Files</td></row>
<row><td>ISCompilerOption_PreProcessor</td><td>_ISSCRIPT_NEW_STYLE_DLG_DEFS</td></row>
<row><td>ISCompilerOption_WarningLevel</td><td>3</td></row>
<row><td>ISCompilerOption_WarningsAsErrors</td><td>1</td></row>
<row><td>ISTheme</td><td>InstallShield Blue.theme</td></row>
<row><td>ISUSLock</td><td>{979EF698-F570-46B1-A89A-8FB2EBA0D64F}</td></row>
<row><td>ISUSSignature</td><td>{070AD25F-E904-4DB5-92BF-40E127BD43E7}</td></row>
<row><td>Limited</td><td>1</td></row>
<row><td>LockPermissionMode</td><td>1</td></row>
<row><td>MsiExecCmdLineOptions</td><td/></row>
<row><td>MsiLogFile</td><td/></row>
<row><td>OnUpgrade</td><td>1</td></row>
<row><td>Owner</td><td/></row>
<row><td>PatchFamily</td><td>MyPatchFamily1</td></row>
<row><td>PatchSequence</td><td>1.0.0</td></row>
<row><td>SaveAsSchema</td><td/></row>
<row><td>SccEnabled</td><td>0</td></row>
<row><td>SccPath</td><td/></row>
<row><td>SchemaVersion</td><td>773</td></row>
<row><td>Type</td><td>MSIE</td></row>
</table>
Express will not open such a file. However depending on whether the file's contents are text or binary, you can either open it with any XML or text editor, or with any MSI reading tool. For the latter there's Microsoft's Orca or various alternatives that are easier to download.
Related
Error -9039: ISSQLScriptFile Table
The conversion process does not support data in the MSI table 'ISSQLScriptFile'.
I don't use SQL scripts much in MSI installers, and I don't have access to Installshield, but please read this: https://docs.revenera.com/installshield26helplib/helplibrary/Citrix9039.htm
Unsure of the context for the error - are you converting an MSI to an ISM? (the latter is an Installshield project file as opposed to a normal MSI installer file - the ISM file is - or at least used to be - an MSI-formatted file in disguise with Installshield-specific tables added).
If you are converting to ISM, maybe you can just remove this table, convert the file successfully and then locate the SQL scripts and re-insert them into the project. I haven't looked at that for years.
After i have made some libraries load directly when i open Dymola by modifying the file : "c:/program files (x86)/dymola 2016 fd01/insert/dymola.mos" , and adding those lines :
Utilities.setenv("MODELICAPATH","C:/Users/hrameh/Desktop/EnergySystems_V2-73p/ModelicaLibraries/ExternalMedia-master/Modelica/ExternalMedia 3.2.1");
openModel("C:\Users\hrameh\Desktop\EnergySystems_V2-73p\ModelicaLibraries\ExternalMedia-master\Modelica\ExternalMedia 3.2.1\package.mo");
Utilities.setenv("MODELICAPATH","C:\Users\hrameh\Desktop\EnergySystems_V2-73p\ModelicaLibraries\EnergySystems");
openModel("C:\Users\hrameh\Desktop\EnergySystems_V2-73p\ModelicaLibraries\EnergySystems\package.mo");
Utilities.setenv("MODELICAPATH","\illuin\users$\hrameh\Mes documents\Dymola");
The model works completely fine in Dymola. But, when trying to simulate the model via Python using the buildingspy library, the simulation fails. Any suggestions to help me find a solution?
I guess your problem is, that buildingspy relies on the default working directory path Dymola gets when the dymola.exe is called by buildingspy - but the openModel-commands in your dymola.mos change the working directory.
Use
openModel("<path-to-package.mo>", changeDirectory=false);
to avoid this.
Additionally, with newer Dymola versions, you must ensure that no saved startup directory is used, by selecting: Edit -> Options -> Settings -> Do not save Startup directory.
As you currently use Dymola 2016 FD01 this is not a problem for you at the moment.
Such problems can be detected by showing the Dymola window when buildingspy simulates a model. You can do this with showGUI as shown in this minimum example:
import os
from buildingspy.simulate.Simulator import Simulator
os.environ["PATH"] += os.pathsep + "C:/Program Files (x86)/Dymola 2016 FD01/bin"
s = Simulator("Modelica.Blocks.Examples.PID_Controller", "dymola")
s.showGUI(show=True)
s.simulate()
Some further hints for your example:
You do not need the Utilities.setenv()-calls to open a library. openModel is sufficient
I would not use Utilities.setenv, as this is an undocumented and apparently a very old package (creation date is from 2004). Use Modelica.Utilities.System.setEnvironmentVariable instead. This way you also don't get an extra package loaded in the package browser
Using the file /insert/dymola.mos has some disadvantages:
it is used system wide by every user, so it should not contain paths to user directories
if you install a new dymola version, you must edit the insert/dymola.mos file of this installation again
Alternatives to dymola.mos
In Dymola 2016 FD01 use the file setup.mos instead to add the openModel commands (located in C:\Users\\AppData\Roaming\Dynasim)
Newer Dymola versions don't have setup.mos anymore, but setup.dymx for the settings and startup.mos for the user commands (to open libraries, etc.)
My project is a mvc4 project in visual studio 2013 ultimate.
I tryd to send my project by following the steps :
File > Export template > (leave all the options as default)
I get a zip that i unpack. If i open the unpacked solution and run the program i get alot of errors. It looks like visual studio replaced all the text that contained the projectname with $safeprojectname$. How can i export the project without visual studio replacing all the 'projectname' spots so that i can run my program.
I tryed creating a new project (console application) with no code in it, if i export it and import it i get the same message first i get :
Warning 1 Load of property 'RootNamespace' failed. The string for the root namespace must be a valid identifier. SvenEind
and after running i get
190 errors 31 warnings
I tryd importing http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/building-the-ef5-mvc4-chapter-downloads and that worked for me.
So i guess the problem is in some kind of settings for exporting files.
replaced all the text that contained the projectname with $safeprojectname$
This is very much by design. You created a project template, a cookie-cutter for new projects. You are not supposed to do anything with the .zip archive. It should sit patiently in your "My Exported Templates" folder. Until the day arrives that you want to start a new project.
You then can pick the template instead of using one of the built-in ones that were preinstalled by the Visual Studio installer. Visual Studio prompts you for the project name. It then unzips the archive, copying the files into your new project directory. And modifies the files, $safeprojectname$ is substituted by the new project name you entered. You now have a good start for your new project, using the settings and assets that you saved earlier when you created the template.
Sounds like you had an entirely different use in mind, I can't guess at the intention from the question.
Hmmm. I got this error on Build:
The app manifest must be valid as per schema: Line 42, Column 18, Reason: '$safeprojectname$' violates pattern constraint of '([A-Za-z][A-Za-z0-9]*)(\.[A-Za-z][A-Za-z0-9]*)*'. The attribute 'Id' with value '$safeprojectname$' failed to parse.
So I grabbed the project name from the VS Configuration Manger and put it in the app manifest like this.
<Applications>
<Application
Id="CordovaApp.Windows10"
And the error went away and the project built. HTH.
I'm using Visual Studio 2012 to build a empty SharePoint 2013 project (added a test list). However when I try to deploy the project I receive the following:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets(418,7): error MSB4131: The "IsDebugging" parameter is not supported by the "SetPackagingProperties" task. Verify the parameter exists on the task, and it is a gettable public instance property.
I've tried commenting out various lines but it just leads to more problems. Furthermore it then does not package the solution.
The setPackagingProperties task, as documented here http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.sharepoint.tasks.setpackagingproperties.aspx, indeed does not include a IsDebugging property. Therefore is the file C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets incorrect? I'm using SharePoint Found Server 2013.
Thanks for any help - this one is doing my head in!
Turns out that the solution was simple: a conflict of DLLs.
To anyone else with the same problem:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools\Microsoft.VisualStudio.SharePoint.Tasks.dll DOES contain the IsDebugging property (undocumented!). My problem was that I had VS 2010 installed with the SP developer tools. This meant that VS 2012 was referencing the incorrect DLL version of Microsoft.VisualStudio.Sharepoint.Tasks.dll. My solution was simple to therefore search the entire system for this DLL and delete all copies apart from the one referenced in the path above.
Pareto's ratio: 80% of time wasted is attributable to just 20% of problems encountered, like this one!!!
My system uses Apache-POI to manage some xls files. Now I've got almost 300 xls files, but it appears that they are in an old format so i got this exception:
The supplied spreadsheet seems to be Excel 5.0/7.0 (BIFF5) format. POI only supports BIFF8 format (from Excel versions 97/2000/XP/2003)
Is there a way to handle that or to automatically convert all those files to a biff8 format?
Go with converting it to OOXLS format, POI supports both BIFF8 and newer OOXLS. Download official Microsoft converter pack:
http://www.microsoft.com/en-us/download/details.aspx?id=3
Convert files by running excelcnv.exe -oice <input file> <output file>. You can try run it directly from your code as external program, or create some batch file. There is a good explanation from mrdivo at social msdn here.
EDIT
The download mentioned above from microsoft.com is no longer available as of 6/21/2018. However, excelcnv.exe is a standard part of some Microsoft Office installations. It has been confirmed to be deployed with Office 2014 and Office 2016, and possibly other versions. It can be found at:
C:\Program Files (x86)\Microsoft Office\root\Office16` (or `Office14`).
It seems apache-POI can't handle BIFF5 format.
You should try to use Java Excel API instead : http://jexcelapi.sourceforge.net/