Bioconductor packages are maintained in 'subversion' (svn) version control. Basic instructions for accessing svn are at http://bioconductor.org/developers/how-to/source-control/. The DESeq2 package svn url is https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/DESeq2. Running
svn diff -log https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/DESeq2/DESCRIPTION > DESeq2.DESCRIPTION.diff
shows that 1.9.16 was associated with revision 105633 (this is an approximation, there are situations where the actual svn revision exposed to the user differs from this).
With the revision in hand,
svn co -r105633 https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/DESeq2
will get the snapshot of the package, and it can be installed with
R CMD INSTALL or from within R using
When I load the current release version of DESeq2, sessionInfo() tells me that 10 packages are attached to the search path, and 35 packages are loaded. To reproduce the session using 1.9.16 (I guess that is your motivation, to reproduce an earlier analysis) requires that the version of R, and all of these package versions match the version in use for the analysis that you are trying to reproduce. To do this in retrospect is very difficult, and requires as a minimum starting point the sessionInfo() or other capture of the old session. There are several approaches to doing this in a prospective fashion (e.g., packrat; docker or other images), as has been discussed elsewhere in this and other forums.
Actually, this StackOverflow question includes a suggestion using git. DESeq2 is mirrored in github at https://github.com/Bioconductor-mirror/DESeq2, so I did
git clone firstname.lastname@example.org:Bioconductor-mirror/DESeq2.git
git log -p DESCRIPTION
git checkout daebada7f87824225cfffe7f1793594eaaff8f51
for a much faster approach to the revision. (This leads to a 'detached HEAD' state in the git repo, whatever that is!
git checkout master when done).