Page 1 of 1
Problem Adding Files to imported MSI's
Posted: Mon Aug 10, 2009 8:31 am
by DanStutzman
I think this may be a bug.
Whenever I import a MSI using the MSI import tool, I cannot add files to the installation. I can change whatever want to the files themselves but when files are added I recieve the error message:
Error
Could not access network location.
I have discovered that the files I wish to add do not get copied into my project folder the way everything else does. Here is a sample script:
Code: Select all
Does not work:
Install Files C:\\Documents and Settings\\ARAMARK\\My Documents\\HP ServiceCenter 6.2.6 Files\\workspace\\.metadata\\.plugins\\org.eclipse.ui.workbench\\workbench.xml to $ALLPROFILES$\\workspace\\.metadata\\.plugins\\org.eclipse.ui.workbench
Install Files C:\\Documents and Settings\\ARAMARK\\My Documents\\HP ServiceCenter 6.2.6 Files\\workspace\\.metadata\\.plugins\\org.eclipse.ui.workbench\\dialog_settings.xml to $ALLPROFILES$\\workspace\\.metadata\\.plugins\\org.eclipse.ui.workbench
Work:
Install Files C:\\Documents and Settings\\ARAMARK\\My Documents\\HP ServiceCenter Client v6.2.6\\client.cab\\filetable\\.fileTable to $TARGETDIR$\\configuration\\org.eclipse.core.runtime\\.manager
Install Files C:\\Documents and Settings\\ARAMARK\\My Documents\\HP ServiceCenter Client v6.2.6\\client.cab\\registry.1\\.registry.1 to $TARGETDIR$\\configuration\\org.eclipse.core.runtime
I've built about 20 packages since migrating to IA and this is the 3rd different MSI I have tried to import and then modifiy and the 3rd different MSI that has returned this error message.
Is there something special that I haven't discovered yet about adding files to imported MSI's?
Thanks
Dan
Posted: Tue Aug 11, 2009 10:41 am
by neillans
Hi Dan,
The imported / converted MSI's are intended to capture as much information as possible, and to give you something to work from in order to refactor your setup to an InstallAware project.
Unfortunatly with the complexity of setup projects these days, it is inevitable that there will be some manual modifications required to get it to work again.
Would it be possible for you to provide exaple of doesn't work / works with the same file references in each so that we can immediatly identify the issue?
Posted: Tue Aug 11, 2009 12:26 pm
by DanStutzman
neillans wrote:Hi Dan,
The imported / converted MSI's are intended to capture as much information as possible, and to give you something to work from in order to refactor your setup to an InstallAware project.
Unfortunatly with the complexity of setup projects these days, it is inevitable that there will be some manual modifications required to get it to work again.
Would it be possible for you to provide exaple of doesn't work / works with the same file references in each so that we can immediatly identify the issue?
Andy... weren't you with MEI mate? If not, that's alright but I worked with a chap named Andy Neillans a couple of years back.
But anyway...
The problem is that once the project has been imported, and the files are in the project folder, IA will not copy added files into the project. I have discovered that it will also not create folders that aren't associated to the captured folders either.
I view this as a major bug mate. Once the project has been imported and I'm in the IDE, it should handle everything I throw at it.
A thought just came to me as I'm typing this... I wonder if I should have decompiled it first. I wonder if decompiling the MSI and then importing it would have worked. I wonder if the problem lies that the source files in the project folder say "Client.cab".
I'll give it a go here in a minute and I'll get back to you.
Cheers,
Posted: Tue Aug 11, 2009 1:51 pm
by neillans
Hi Dan,
I've done a lot of consulting for various companies, but MEI doesn't ring a bell I'm afraid; very surprised to hear of a namesake however - always thought I was unique
Let me know how you get on -- you are right to assume you will need to unpack the file before capturing the setup.
Posted: Tue Aug 11, 2009 2:06 pm
by DanStutzman
That's what it is.
To actually modify a 3rd party, compressed (single-file) MSI, you must first run that MSI through the decompressor and then import said MSI into the IDE. At that point you can then add files/folders/shortcuts to the IDE Project.
I still consider this to be a bug in the aspect that the IDE has imported the files and based upon the MSICode should be able to handle additions made but doesn't.
Also, quick question. I remember reading how you change the package so that it uses the project dir variable. How do I that again?
Cheers,
Posted: Tue Aug 11, 2009 5:54 pm
by MichaelNesmith
The Setup Decompressor is used when you are adding MSI files to your installation "verbatim" - meaning, you'll just be installing them using (Un)Install MSI Setup without changing the MSI or reverse engineering it. You don't have to use it - it primarily exists to help you leverage the better compression InstallAware provides when its repacking the MSI either via File Bag or the support files mechanism. Re-compressing an already MSI compressed file does not provide space savings, even if you are using a better compression algorithm.
The Database Import Wizard on the other hand "reverse engineers" an MSI file. It could be that you are running into a bug with it; it is also possible that paths are exceeding the 256 character path length limit. Try re-importing into a shorter root path such as c:\\test and see if that helps. I suspect files are not copied due to the path length issue.
Posted: Tue Aug 11, 2009 8:27 pm
by DanStutzman
MichaelNesmith wrote:The Setup Decompressor is used when you are adding MSI files to your installation "verbatim" - meaning, you'll just be installing them using (Un)Install MSI Setup without changing the MSI or reverse engineering it. You don't have to use it - it primarily exists to help you leverage the better compression InstallAware provides when its repacking the MSI either via File Bag or the support files mechanism. Re-compressing an already MSI compressed file does not provide space savings, even if you are using a better compression algorithm.
The Database Import Wizard on the other hand "reverse engineers" an MSI file. It could be that you are running into a bug with it; it is also possible that paths are exceeding the 256 character path length limit. Try re-importing into a shorter root path such as c:\\test and see if that helps. I suspect files are not copied due to the path length issue.
That was my first thought as well but it's not. You can recreate the problem like this:
1. Import Orca.msi
2. Add to the package via the IDE, winter.jpg from $mypics\\sample pics and add it to $myprofile$\\winter.jpg.
3. Build a SFX.
4. Install the EXE on a different VM and I guarantee you that you will get the error message Error Network location \\Profile\\ could not be found.
Posted: Wed Aug 12, 2009 2:21 am
by neillans
Hi Dan,
Interesting .... I'll log it on our bug tracker, but afraid I'm not sure how quickly it will be investigated
