2015-12-19 9 views
-2

J'essaye de faire un fichier EXE qui va extraire son contenu, les mettre dans leur propre DIR, puis exécuter le fichier de démarrage principal (fichierOne.jar). Vous pouvez voir comment je le fais en regardant cette vidéo ->[Here] < -, ou lire ceErreur avec la commande d'installation par lots - IExpress

I ran IExpress, left everything at default settings, and added my files "fileOne.jar" "fileTwo.jar" "install.bat" than I set "install.bat" as the install command. Install.bat's command -->

MD Program move fileOne.jar Program move fileTwo.jar Program move Program C:/"Program Files" fileOne.jar

Mais chaque fois que je crée un, il me donne une erreur: Error

Qu'est-ce que je suis mal faire? Ai-je besoin d'un type de fichier différent pour mettre la commande d'installation? Si oui, ai-je besoin de connaître un nouveau langage de programmation?

+1

Rien dans ce message d'erreur ne dit quoi que ce soit à propos d'un .exe, et vous n'avez pas dit comment vous essayez d'en créer un. Nous n'irons pas ailleurs pour comprendre ce que vous demandez; inclure le contenu pertinent ici dans votre post.Command.com n'a pas existé pour la dernière décennie, depuis l'introduction de cmd.exe. Ce que vous demandez n'est pas clair, car il y a tellement de choses qui n'ont pas de sens. S'il vous plaît [modifier] votre question et le rendre plus clair, avec le code de lot nécessaire ** ici **, et sans que nous ayons à quitter ce site et ouvrir quelque chose dans un nouvel onglet pour comprendre ce que vous demandez. –

+0

@KenWhite Je vais le faire ... –

+1

Je ne vois pas la raison pour laquelle la question est downvoted. C'est un vieux problème frustrant avec "Iexpress" et pourrait être déroutant pour un peuple qui ne le connaît pas. – npocmaka

Répondre

3

Ceci est un connu issue (à le bas de la page) avec le IEXpress. L'outil est vraiment ancien - depuis le command.com était le processeur de commande par défaut. La solution de contournement consiste à utiliser cmd.exe /c install.bat lorsque vous appelez votre script d'installation.

+0

@JackKirby - iexpress fonctionne toujours .... Visual Studio est livré avec quelques outils pour l'emballage MSI. Vérifiez également [this] (http: // stackoverflow.com/questions/1042566/how-can-i-create-a-msi-setup) – npocmaka

+0

Comment puis-je améliorer cette question pour gagner plus de votes? –

1

Vous devez vraiment déboguer complètement ce script avant de le déployer dans un programme d'installation. Une fois que vous avez complètement débogué le script, vous pouvez utiliser le programme d'installation. IExpress, InstallShield, etc. sont difficiles dans le sens où vous devez travailler avec les dossiers temporaires, et ainsi de suite.

Votre script original:

MD Program 
move fileOne.jar Program 
move fileOne.jar Program 
move Program C:/"Program Files" 
fileOne.jar 

Questions:

  1. Vous ne devriez jamais besoin de se déplacer fileone.jar dans le même dossier deux fois.
  2. Étant donné que vous exécutez le fichier de commandes dans un fichier exécutable, vous devez spécifier le chemin d'accès et le répertoire que vous avez découvert en cours d'exécution, mais dans un dossier% TEMP%.
  3. Windows n'est pas * NIX, Mac ou le Web. Votre barre oblique doit être un antislash.

Prendre votre code, nous ré-écrivons - Je ne vais pas entrer dans la configuration Java/JDK, mais vous devriez voir ce qui se passe:

IF NOT EXIST "C:\INSTALLER\." MD "C:\INSTALLER" 
7Z -y x YourZipfile.zip -oC:\installer 
IF NOT EXIST "C:\Program\." MD "C:\Program" 
IF EXIST C:\INSTALLER\fileOne.jar move C:\INSTALLER\fileOne.jar C:\Program 
IF EXIST C:\INSTALLER\fileTwo.jar move C:\INSTALLER\fileTwo.jar C:\Program 
IF NOT EXIST "C:\Program Files\Program\." move C:\Program "C:\Program Files" 
IF EXIST "C:\Program Files\Program\fileOne.jar" %JAVA_HOME%\bin\Java.exe" "C:\Program Files\Program\fileOne.jar" 
+0

Droit, je ne voulais pas l'avoir déplacer deux fois fileone.jar, je voulais dire pour qu'il bouge fileone.jar, alors filetwo.jar: 3 –