Nsis7Zipper.ts 670 B

123456789101112131415161718192021222324
  1. import { dirname, basename, join, relative, resolve, win32 } from 'path';
  2. import { NsisComposer, INsisComposerOptions } from './NsisComposer';
  3. export class Nsis7Zipper extends NsisComposer {
  4. constructor(protected path: string, options: INsisComposerOptions) {
  5. super(options);
  6. }
  7. protected async makeInstallerFiles(): Promise<string> {
  8. return `SetOutPath "$INSTDIR"
  9. SetCompress off
  10. DetailPrint "Extracting archive..."
  11. File "${ win32.normalize(resolve(this.path)) }"
  12. DetailPrint "Installing archive..."
  13. Nsis7z::ExtractWithDetails "$OUTDIR\\${ basename(this.path) }" "Installing %s..."
  14. Delete "$OUTDIR\\${ basename(this.path) }"`;
  15. }
  16. }