We're using Installshield 8 in creating our installer.
While building, we are getting this error.
Error -4075: File not found.
We traced the problem to a "missing" Merge Module. The weird thing is, the Merge Module does exist in the correct location! Browsing the merge module manually solved the problem. So we checked-in the fixed ISM file, restored the build machine (We had it snapshot'd), fetched the entire tree and built from there. Still, the merge module problem is there.
I noticed that when you browsed for the "missing" Merge Module, the problem will no longer exist even if you did not save the ISM file.
Have anyone experienced this problem?
Thanks.
UPDATE:
Our Merge Module is not located in the Default Location for Merge Modules where Installshield is looking. In the newer version of IIS, there is a -O flag for IsCmdBld.exe which allows you to specify additional locations for your custom merge modules. One option that we have is to just copy our merge module to one of those Default Locations. But if someone can have a "neater" solution, please. :)
If you click on Tools/Options/Merge Modules you can specify the directories in which you want the IDE to search for merge modules; in other words, expand the number of "default" locations where IS will search.*
For command-line building, you are correct; you have to use the "-o" switch.
*Disclaimer: this holds true for modern versions of InstallShield (last 5 years). I assume IS8 is the same, but YMMV.
Related
I have an InstallShield (2018, also happens in IS 11) setup with a lot of 3th party libraries. Among other things a merge module. This merge module have a file (call F).
Now, there is an other library as a directory with a bunch of different files, sadly also a file with the name "F".
I can't add this file:
A work around is creating a new merge module just containing this file and adding it to the feature. But the drawback is: When updating the libary directory, the merge module has also to be updated. But do I remember at this moment to this? What if other persons are doing this? So I want to avoid this work around. Is there a better way?
what worked for me is i removed merge module from the project and re-added them after adding files to the project.
I am working on a NetSuite instance that had custom(contractor/SuiteScript) work installed via a bundle, but it is not a third party product but made for this system. Now there are 2 listings in the dropdown for each file. In other words, if I am adding a file as a library, it shows up twice and I don't know which reference is the correct one to choose. I used search to find the duplicate file name is in the bundle install. Can I safely remove or delete the bundle? thanks any help is appreciated.
You cannot typically remove individual files from a bundle. If you do not need the functionality of the bundle anymore than you can remove it at your discretion by going to Customization>SuiteBundler>Search & Install Bundles>List, then under the action icon click 'Uninstall'.
I wouldn't try to delete a script library from a bundle folder. Even if you are uploading an identical library there may be references in the bundle scripts to the original library that will be broken when if you delete it.
If you are wondering which one you are selecting from the drop down one thing you could do is figure out the internal id of your library file then run a search on your script file that pulls in the library file id's and make sure that they match.
I'm new to node and am playing around with SailsJS. I found what I think is a bug (reported it), but I wanted to have ago at debuging it myself.
I located the file that I need to investigate in the node_modules folder.
I tried putting a console.log in it to ensure I had the right one. Nothing happened.
So I tried placing log statements in several other files in node_modules that are at the top of the dependency tree. Nothing is printing out.
Do I need to do something to refresh the cache make this work? OR am I going about this in completely the wrong way!
Usually, if you think that an external module has a bug, the best approach is to clone it and write a test that shows which is the offending set of inputs.
SailJS is available on GitHub, so you can freely and easily contribute with a merge request if you find that you are right.
This way, you can adopt the same approach used by the project to test the code (as an example, using mocha).
In case the merge request will be accepted, while waiting for a new release on npm you can refer to your remote copy by means of the package.json file.
tl;dr: How to modify the .csproj file during publishing with ClickOnce while executing pre-build events?
Long:
I'm using TFS hosted by Microsoft for version control of my solution.
When publishing with ClickOnce, I get the latest revision number + 1 without problems. I also can successfully write the new version number into the .csproj file outside my build-process.
The problem is, that the .csproj file doesn't get updated during the build process - it might be in a write-lock. I get a notification inside Notepad++ about the modification of the file, but the file still contains the old version and VS didn't notice any changes.
The only solution by now I found to resolve this issue:
Move the revision update into the post-build events and add 2 instead of one to the actual revision number. Unfortunately this would cause that revision number would be out of date whenever other developers check-in code.
Ok, strike that... :(.
After some more diffing, you'll need to override the GenerateApplicationManifest target to get this to work. That target doesn't use a *DependsUpon propertygroup, so it's harder to overwrite. The whole flow is defined in the Microsoft.Common.Targets file which you can find in the %windir%\Microsoft.NET\Framework{cpu}\{version} folder.
See also:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/3a94df52-74c1-4fca-a830-ab530ec49207/use-msbuild-to-create-clickonce-app-files-in-alternate-location
Consider a solution has 2 projects: ProjectA and ProjectB (both are MonoTouch apps) and ProjectBase. ProjectBase contains the whole application, but Main.cs file (with the entry point) is located in ProjectA and ProjectB (which reference ProjectBase). This way, running any of A/B projects will boot up the application from ProjectBase.
Now, I want to override something for ProjectA only (it might be XIB file, image or a .NET class). Is there any way I can setup the solution so that the code and resources, produced by ProjectBase, are merged with the ones from ProjectA/ProjectB and the latter wins?
I found (probably a quirky and kinda-undefined-behavior-driven way) of overriding XIBs: I just put a XIB into ProjectA and ProjectB, name it the same as it was named in ProjectBase and them exclude it from ProjectBase. Although MonoDevelop compiles all items, it seems that the startup project's XIBs get priority, so that I see ProjectA-specific XIBs when I launch ProjectA and ProjectB-specific XIBs when I launch ProjectB. However, I am not sure it is the way it should behave, plus, from what I can see from build log, ALL projects get built yielding resources at the end.
P.S. I'm sorry if this has been asked previously, but I was not able to find the similar question on SO.
I was once trying to do this for a bunch of apps. I would have thought build order would be ProjectBase and then ProjectA, and the content copy system would be the same... Guess this means we are wrong.
You could do a few things.
A) Build your own program to copy resources which are marked for content. Would not be very hard, just need to read the .csproj files. XML parsing is easy enough in .NET. Run this program on post build. Would just have to be careful when doing builds such as to zip or to the device as I am not sure how it handles post-build events.
B) [This is what I did instead] If I expect to also make ProjectC, ProjectD ... ProjectN I instead made a program to generate my program... (Programception).
What it does, has ProjectBase, and ProjectTempalte. You enter your new project name into this program, say, "MyNewProject" and it will create the correct folder structure, write the correct csproj files, and update SLN file. ProjectTemplate has various placeholders in .csproj files like {PLACEHOLDER} which Programception would just go through and find/replace with my project name. Image files (and in your case XIB) are then only kept within ProjectA (B..C..N) unless I do not expect to try and override them in which case they would stay in ProjectBase. This is a lot easier with a XIBless application I would assume. I never use XIB's anyway.
Hope that helps!