问题
I just developed a browser-based employee management system. I am wondering if there is a way for me to create an installer or a self-extracting file to transfer the system to another computer easily.
I have tried using "iexpress.exe" and "Actual Installer" however it seems they only extract in a single directory. Is there a way for me to specify which file should go to a specific directory using these applications? If none, any suggestions how to do it?
回答1:
You can make IExpress put files into subdirectories using a technique described by Microsoft. In your install program, you’d need to do something similar to:
@md i386
@xcopy /q /y toastva.exe i386\.
@xcopy /q /y tostrcls.dll i386\.
@xcopy /q /y tostrco2.dll i386\.
@xcopy /q /y toaster.sys i386\.
(You could use move /y
instead of xcopy
, if that’s what you wanted to do.)
This is due to a technical limitation in the way IExpress generates its CAB file. IExpress generates a DDF file which is read by makecab.exe
; this file places all source files in the same destination folder. Thus each source file must have a unique name, regardless of its source directory.
While makecab.exe
itself supports subdirectories, the input DDF file is generated on-the-fly by IExpress, so it would be difficult (if not impossible) to intercept it and make changes before makecab.exe
reads it.
But honestly, if you need subdirectories (and sub-subdirectories…) then you might want to consider using a "real" installer maker. Some examples in no particular order:
- Inno Setup
- NSIS
- WiX
来源:https://stackoverflow.com/questions/16847974/how-to-create-an-installer-of-a-browser-based-system