GithubHelp home page GithubHelp logo

odt-builder's Introduction

ODT Builder

ODT Builder creates offline installers for Microsoft Office 365 Business apps. This is useful when installing Office in an environment with slow/no Internet, or when the standard installers are not functioning as expected.

Usage

First-time setup

If you are downloading the source or a release from GitHub, you will need to follow these setup instructions before using the software.

  1. Download the latest release of ODT Builder and extract the archive.
  2. Download the standalone version of 7-zip from here. Extract the three files from the "x64" directory to the same folder as Build.ps1.
  3. Download and install Microsoft's ODT tool. Run the installer and install to the same directory as Build.ps1.

Creating offline installers

  1. Extract ODT Builder into its own directory.
  2. Run Build.ps1 or run.bat.
  3. Choose a version of Office from the main menu.
  4. Choose your architecture.
  5. Choose whether to build an archive, or to deploy to the current machine.

The script will then download the required files, then either install Office or create a zip archive which you can move to the target machine.

Installing from an archive

  1. Transfer the archive to the target machine.
  2. Extract the archive into it's own directory.
  3. Run install.bat. You'll see the familiar installation UI.
  4. ?????
  5. Profit.

TODO

  • Move support files to a subdirectory to clean up root.
  • Modify build directory names.
  • Add additional versions of Office, including Apps for enterprise, Office LTSC versions, and other volume licensed versions.
  • Support custom configurations. This will help future-proof this script if it goes unmaintained, as well as supporting custom-made configs (i.e. from https://config.office.com/deploymentsettings)
  • Rewrite in PowerShell.

Changelog

All versions are tested before they are published, including installation of Office in a virtual environment.

2022.12.22

  • Re-imagined build wizard.
  • Office builds are now created in their own directories instead of a catch-all build directory.
  • Added several new ODT config files: Home retail, Enterprise, and options for just Outlook.
  • Rudimentary implementation for custom ODT config files.
  • New "run" and "debug" batch scripts to make launching/testing the PowerShell script easier.
  • Code cleanup, bug squashing, and more. Check out the full changelog below.

2022.10.06

  • create-release.bat never made it into August's commit. It is now uploaded.
  • Created run.bat script which automatically bypasses execution policy. This makes the script easier to execute on modern Windows operating systems.

2022.08.15

  • Updated readme TODO list.
  • Added a create-release.bat script to create portable versions.
  • Updated .gitignore to avoid weirdness with extracted files from ODT.

2022.01.28

  • Fixed window border.
  • Now published on GitHub!
  • Rewrote usage instructions.
  • Gitignore generated. Does not include binaries that should not be distributed.

2022.01.15

  • Rewritten in PowerShell. Script is now more robust and written "correctly".
  • Menu system. Now you can build just 32-bit or 64-bit, as well as both!
  • Manually run cleanup -- Really only useful if the script crashes mid-build.
  • Compiled builds are now identified by architecture shorthand instead of bit-ness.

2022.01.13

  • Switched from tar to 7zip for compression. This removes the requirement for a specific Windows 10 build, and 7zip can make zip files that work natively in Windows Explorer.
  • Builds now output to .\build\ instead of in the main directory.
  • Updated file cleanup process to delete x64 build directory.
  • Fixed 64-bit build. Now uses correct XML in bundle.
  • Timeout reduced to 1 second.
  • Provided insight that there's no progress indicator for download.

2022.01.12

First iteration! We'll see how this goes. :)

odt-builder's People

Contributors

yeenbean avatar

Watchers

 avatar

odt-builder's Issues

Better dependency checking with hinting

In the script's current state, it does not check for dependencies when run. Instead, it just fails during execution.

My plan is to implement something along the lines of

  1. Program launches and checks for 7-zip and ODT dependencies.
  2. When a dependency is missing, print output for each missing dependency with info on how to install them and links to download. Script will exit after pressing the "any" key.
  3. If dependencies are met, script will drop into main menu as usual.

New build flow is not modular

The proposed new build flow would be, for lack of a better term, hell to work with. Needs a rework.

For example, could set variables to specify what args need to be passed to build function. This would negate the need to build a billion nested blocks.

$version
$bits

switch (Read-Host) {
    '1' {
        $version = "business"
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.